Tamsayı Kontrolünü Sağlama

Kullanıcıdan 5 adet veri girmesi isteniyor . Girdiğim verilerin tamsayı olup olmadığı kontrol edilecek eğer veriler tamsayı ise işleme devam edecek değilse kullanıcıdan tekrar sayı girişi istenecek.

Siz herhangi bir şey denediniz mi denediyseniz ne denediniz sorun neydi denediğinizde lütfen bunları da belirtin böyle direk konuyu açtığınızda sanki hiç çaba göstermeden bir kod istiyormuşsunuz gibi gözüküyorsunuz ve forumda da böyle kişilere az yardım ediliyor.

sipariş mi veriyon la hayırdır ?

1 Beğeni

Neyse ben yine de deneme yaptığınızı umarak cevabı veriyorum.
Bunun try except kullanabiliriz.
Aşağıdaki kodda bir döngü kuruyor bu döngü x 6 dan küçük olduğu sürece tekrarlanıyor.
Ve her turda x 1 arttığına göre normal şartlarda 5 tur atacak.
Ama eğer adam tam sayı girmediyse döngü sıfırlanıyor ben burada sözlük kullandım.

x=1
sayilar = {}
while x<6:
    try:
        sayilar[f"sayi{x}"] = int(input(f"Sayi {x}i girin"))
        x += 1
    except ValueError:
        print("İşte hata mesajı")
        x = 1
print(list(sayilar.values()))

Sözlük kullanılmamış hali ilede yapabiliriz ama ya globals kullanacağız fakat forumdaki tecrübeli bir üye bunun yanlış olduğu söylemişti yada uzun if kullanırız ama gerek yok.
Tabii çok isterseniz sizin için yazabilirim.

2 Beğeni
sayılar = []
def sayı_iste():
	for i in range (1, 6):
		sayı = input("sayı " + str(i) + " giriniz")
		sayılar.append(sayı)
	for sayı in sayılar:
		if sayı.isdigit():
			pass
		else:
			print("lütfen tam sayı giriniz")
			sayılar.clear()
			sayı_iste()
sayı_iste()

Bende bu şekilde yaptım.