Python string dönüştürülmüyor, neden?

ynsmr_cgn

80+
Katılım
29 Nisan 2020
Mesajlar
350
Reaksiyon skoru
100
islem = [0, ]
while True:
x = int(input("Sayı giriniz: "))
islem.append(x)
if bool(x) == True:
islem[0] += x
else:
print("Cevap: ", islem[0])
Arkadaşlar böyle bir kodum var, burada ben x değerini zaten integer olarak alıyorum ama çalıştırdığımda string integera dönüştürülemiyor hatası veriyor. Neden acaba, bilen biri yardımcı olabilir mi? ChatGPT ye sordum kod doğru dedi, benim az biraz tecrübeme dayanarak bana da doğru geliyor. Neden çalışmıyor acaba? Kodu hem vsc hem pycharmda denedim ikisindede aynı hatayı veriyor.

1688738322020.png
 
Kodun hatalı. Devamlı sayı giriyorsun sayı girerken zaten hata vermez. Fakat işlemi bitirmek için ve sonucun ekrana yazdırılması için en sonunda sayı girmemen gerekiyor. Sayı girmediğin zaman da bunu int'e çeviremeyeceği için hata veriyor. Bu kodda ne yapmaya çalıştığını da tam anlayamadım zaten.
 
Hocam kodunuzda break yok galiba. Tam anlaşılır bid kod değil kullanıcıdan sadece sayı girmesini isteyip o sayıları tutan bir fonk mu yazdınız.aldığınız inputu daha sonra int'e çevirmeyi deneyin isterseniz.
islem = [0,]
while True:
x = input("Sayı giriniz: ")
if x.isdigit():
x = int(x)
islem.append(x)
if bool(x) == True:
islem[0] += x
else:
print("Cevap: ", islem[0])
break
else:
print("Geçerli bir sayı giriniz.")
 
Kodun hatalı. Devamlı sayı giriyorsun sayı girerken zaten hata vermez. Fakat işlemi bitirmek için ve sonucun ekrana yazdırılması için en sonunda sayı girmemen gerekiyor. Sayı girmediğin zaman da bunu int'e çeviremeyeceği için hata veriyor. Bu kodda ne yapmaya çalıştığını da tam anlayamadım zaten.
Hocam kodunuzda break yok galiba. Tam anlaşılır bid kod değil kullanıcıdan sadece sayı girmesini isteyip o sayıları tutan bir fonk mu yazdınız.aldığınız inputu daha sonra int'e çevirmeyi deneyin isterseniz.
islem = [0,]
while True:
x = input("Sayı giriniz: ")
if x.isdigit():
x = int(x)
islem.append(x)
if bool(x) == True:
islem[0] += x
else:
print("Cevap: ", islem[0])
break
else:
print("Geçerli bir sayı giriniz.")
Teşekkürler sorunu anladım. Burada, kendi kafamdan, döngüye sokarak basit bir hesap makinesi yapmaya çalışıyorum. Bu kısım sürekli hata verdiği için ayrı bir dosya oluşturup denedim. O yüzden biraz mantıksız duruyor. Döngüye sokaraktan kastım, a+b ile sınırlı değilde, a+b+c+d+e+... gibi ne kadar sayı girerseniz o kadarını toplamaya çalıştım.
Mesajlar otomatik olarak birleştirildi:

1688752301829.png

Çözümü bu şekilde buldum.
 
Son düzenleme:
Yeni mesajlar Yeni Konu Aç  

   

SON KONULAR

Forum istatistikleri

Konular
1,181,126
Mesajlar
10,646,791
Üyeler
187,453
Son üye
meeptt
Geri
Top