For döngüsünde çıktı problemi

while True:
sayı=str(input(“sayı:”))
if sayı==“q”:
print(“YİNE BEKLERİZ”)
else:
sayı = int(sayı)
faktöriyel=1
for i in range(2,sayı+1):
faktöriyel*=i
print(faktöriyel)

inputa 5 yazınca ben çıktının direk 5faktöriyel cevabının yani 120 olmasını istiyorum fakat çıktıda bana 5 e kadar olan tüm döngüleri veriyor

Merhaba,

Kodlarınıza kod görünümü kazandırmanızı öneriyoruz. Nasıl yapılır öğrenmek için aşağıdaki bağlantıyı ziyaret edin lütfen.

Kodlarınızla alakalı da şunu söylemeliyim. Dışarıdaki while döngüsünü durduran bir break deyiminiz yok. Kodlarınızı şu şekilde tekrar düzenledim. Bir bakın isterseniz.

while True:
    sayi = str(input("sayı:"))
    if sayi == "q":
        print("YİNE BEKLERİZ")
        break
    else:
        sayi = int(sayi)
        faktoriyel = 1
        for i in range(2, sayi + 1):
            faktoriyel *= i
        print(faktoriyel)
1 Beğeni