Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
5
Cevap
755
Tıklama
0
Öne Çıkarma
İnt değer yerine float değer giren kullanıcıya uyarı mesajı?
S
7 yıl
Er
Konu Sahibi

Arkadaşlar merhaba
Bir program yazdım (python3) kullanıcıdan tam sayı input istiyorum. Int değişken tipinde. Fakat kullanıcı int değişken yerine float değişken girince ya da str değişken girince program hata veriyor. Benim istediğim program hata vermesin sadece kullanıcıya bir uyari yazısı çıkarsın ve yeniden değer girmesini istesin. Bunu nasıl yapabilirim.

< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi sivanmert -- 12 Temmuz 2018; 14:47:42 >

< Bu ileti mobil sürüm kullanılarak atıldı >

S
7 yıl
Yüzbaşı

try...except kullanacaksin.

C gibi dusunmeyin artik, nesneler exceptionlar kullanacaksin.



< Bu ileti mini sürüm kullanılarak atıldı >

S
7 yıl
Er
Konu Sahibi

Teşekkürler



< Bu ileti mobil sürüm kullanılarak atıldı >

G
7 yıl
Teğmen

type diye fonksiyon olmasi lazim, bi' if çakarsin.input istemeden hemen önce do while girersen float gelirse yeniden deger ister.

fazla bilgi göz çikarmaz;

e yazildiktan sonra tekrar input almissin, onun yerine continue olmasi lazim. ve fazladan e-E kontrolü yapiyorsun, tekrar.lower'i 'e' ile karsilastir.



< Bu ileti mobil sürüm kullanılarak atıldı >

S
7 yıl
Er
Konu Sahibi

Teşekkürler Arkadaşlar. Yardımlarınızla aşağıdaki gibi yaptım sorun çözüldü.

 

while True:
try:
i = int(input("Faktöryel Hesaplamak İstediğiniz Doğal Sayıyı Giriniz\n"))

if i < 0:
print("Negatif Sayılar İçin Faktöryel Hesaplanamaz.")
tekrar = str(input("Tekrar Giriş Yapmak İçin 'E', Çıkamak İçin 'H'\n"))

if tekrar == "E" or "e":
continue


elif tekrar == "H" or "h":
print("Hoşçakalın")
break


else:
print("Hatalı Bir Giriş Yaptınız Tekrar Deneyiniz.")
i = int(input("Faktöryel Hesaplamak İstediğiniz Doğal Sayıyı Giriniz\n"))


elif i == 0:
print("Faktöriyel: 1")
continue




else:

carp = 1
for oku in range(i):
carp = carp * (oku + 1)

print('Faktoriyel : ', carp)
continue

except ValueError:
print("Girdiğiniz Değer Bir Doğal Sayı Değil\n")




S
7 yıl
Er
Konu Sahibi

Teşekkürler Arkadaşlar. Yardımlarınızla aşağıdaki gibi yaptım sorun çözüldü.

 

while True:
try:
i = int(input("Faktöryel Hesaplamak İstediğiniz Doğal Sayıyı Giriniz\n"))

if i < 0:
print("Negatif Sayılar İçin Faktöryel Hesaplanamaz.")
tekrar = str(input("Tekrar Giriş Yapmak İçin 'E', Çıkamak İçin 'H'\n"))

if tekrar == "E" or "e":
continue


elif tekrar == "H" or "h":
print("Hoşçakalın")
break


else:
print("Hatalı Bir Giriş Yaptınız Tekrar Deneyiniz.")
i = int(input("Faktöryel Hesaplamak İstediğiniz Doğal Sayıyı Giriniz\n"))


elif i == 0:
print("Faktöriyel: 1")
continue




else:

carp = 1
for oku in range(i):
carp = carp * (oku + 1)

print('Faktoriyel : ', carp)
continue

except ValueError:
print("Girdiğiniz Değer Bir Doğal Sayı Değil\n")




DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.