Python Kodu baştan çalıştırma nasıl yapılır?

Dogofvet

Femtopat
Katılım
2 Ağustos 2024
Mesajlar
49
Daha fazla  
Cinsiyet
Erkek
Merhaba arkadaşlar ben Python'da bir input ayarladım işte geçersiz sayı girilirse kodların baştan çalışmasını istiyorum nasıl yapabilirim?
 
...geçersiz sayı girilirse kodların baştan çalışmasını...
Ben bunu anlamadım. Geçersiz sayı ne? Belirli bir aralık mı, pozitif/negatif ayrımı mı, yoksa girilen şey integer olsun mu demeye çalışıyorsunuz? Hangi kodlar baştan çalışacak? Anladığımı yazdım, yanlışsa belirtir veya daha iyisi yapıyı kendinize göre kullanırsınız.

Python:
while True:
    num = input("Enter a number: ")
    try:
        num = int(num)
        break
    except:
        pass

print(num)
 
Ben bunu anlamadım. Geçersiz sayı ne? Belirli bir aralık mı, pozitif/negatif ayrımı mı, yoksa girilen şey integer olsun mu demeye çalışıyorsunuz? Hangi kodlar baştan çalışacak? Anladığımı yazdım, yanlışsa belirtir veya daha iyisi yapıyı kendinize göre kullanırsınız.

Python:
while True:
 num = input("Enter a number: ")
 try:
 num = int(num)
 break.
 except:
 pass.

print(num)

Geçersiz sayıdan kastım mesela kişi 1 ile 100 arasında bir sayı girebiliyor geçersiz dediğim 1 ile 100 dışındakiler.
 
Son düzenleyen: Moderatör:
Bir while döngüsü kullanabilirsin.

Python:
while True:
    x = int(input("Bir tam sayı giriniz: "))
    if x in range(1,101):
        print("Durum sağlandı, program sonlandırılıyor...")
        break

Python'da range() fonksiyonuna vereceğin ilk parametre nereden başlayacağını, ikinci parametre nerede duracağını belirtir. Bu nedenle x değişkeni 1'den itibaren (1 dahil) 101'e kadar olan (101 dahil değil) tam sayıları aldığında if durumu gerçekleşir. Eğer girdi bu aralıkta değilse if durumu sağlanamayacağından döngü kendini tekrar eder.

Aynı işlemi range() fonksiyonunu kullanmadan matematiksel karşılaştırma operatörleriyle de şu şekilde yapabilirsin:

Python:
while True:
    x = int(input("Bir tam sayı giriniz: "))
    if 1 <= x <= 100:
        print("Durum sağlandı, program sonlandırılıyor...")
        break
 

Technopat Haberler

Geri
Yukarı