While ile çarpım tablosu

Kullanıcıdan 1 ile 10 arasında bir sayı isteyerek, girdiği sayının çarpım tablosunu yazdırmak istiyorum. 1 ile 10 arasında bir değer yazdığım zaman bir sorun yok fakat örneğin 11 sayısını girdiğimde, kodumda yazdığım “Yazdığınız sayıyı kontrol ediniz” cümlesi sonsuza kadar tekrarlanıyor. Ben 11 sayısını yazdığım zaman tekrardan bir sayı girmemi isteyen döngünün başına dönmek istiyorum. Bunu nasıl yapabilirim? Sanırım bir şeyleri gözümden kaçırıyorum ama anlamadım. Yazdığım kod;
i=1
sayı=int(input("Bir ile on arasında bir sayı giriniz: "))
while i<=10:
if 1<=sayı<=10:
tablo=(isayı)
print(sayı,’
’,i,’=’,tablo)
i=i+1
else:
print(“Yazdığınız sayıyı kontrol ediniz”)

i sadece 1<=sayı<=10 şartı sağlandığında artıyor. i artmazsa while i<=10: döngüsü bitmez, sayı 11 gibi değere sahip olursa da i artmıyor.

Döngülerden de break ile çıkılabilir bu arada:

Break’i else’in sonuna koydum hocam fakat ben döngünün sonlanmasını değil tekrardan değer istemek amacıyla döngünün başa dönüp kullanıcıdan sayı istemesini diliyordum

böyle bir şey mi?

text="bir sayı girin: "
text2="sayıyı kontrol edin: "
def hesapla(text):
    
    i=1
    sayı=int(input("{}".format(text)))
    
    if 1<=sayı<=10:
        while i<=10:
            print(sayı*i)
            i=i+1
        return hesapla(text)
    else:
        return hesapla(text2)
hesapla(text)

Aslında bu yaptığınız da doğru teşekkür ederim. Ben daha yeni başladığım için bazı kısımlar biraz anlamsız gelebiliyor