Neler Yeni

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

ynsmr_cgn

80+
Katılım
29 Nisan 2020
Mesajlar
328
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
 

Marshal

80+ Bronze
Katılım
12 Şubat 2021
Mesajlar
1,880
En İyi Cevap
3
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.
 

lyoko

80+
Katılım
21 Temmuz 2022
Mesajlar
253
Dahası  
Reaksiyon skoru
75
İsim
SY
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.")
 

ynsmr_cgn

80+
Katılım
29 Nisan 2020
Mesajlar
328
  • Konu Sahibi Konu Sahibi
  • #4
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.
Mesaj otomatik birleştirildi:

1688752301829.png

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

SON KONULAR

Forum istatistikleri

Konular
938,323
Mesajlar
8,542,012
Üyeler
147,524
Son üye
woneo
Top Bottom