Ali33 Merhaba ben pyhtona yeni başladım toplama makinesi yapak istiyordum ama nerede hata yaptım çözemedim mesela ilkine 10 yazıuorum ikincisine 32 yazıyorum ekrana 42 yazacağı yerde 1032 yazıyor yardımcı olursanız sevinirim.
Hortlattığım için özür dilerim
def islem(islem): # islem adında fonksiyon oluşturup aynı kelimeyi parametre vermede kullandım bu ahmet mehmette olabilirdi
l = [] # boş bir liste tanımladım
a = islem.lower() #islem adlı parametreye yazacağımız string ifadeye ne yazılırsa yazılsın küçük harfe dönüştürülüp öyle işlem yapılması için a değişkenine atadım
ask = int(input("kaç sayı toplansın ? : ")) # ask adında integer yani tam sayı olan bir input tanımladım
if a == "topla": #eğer parametre olarak "topla" ifadesi yazılırsa
for i in range(1,ask+1): # i değişkeni bir ile başta yazdığımız inputtaki sayı ve bir fazlası kadar döngüde dolaş
b = int(input(f"Sayı {i} : ")) # döngünün döndüğü sayı kadar döngü olacağından o kadar kez b inputuna toplayacağımız sayıyı yazıyoruz
l += [b] # yazdığımız bu sayılar en başta oluşturduğumuz boş listeye teker teker aktarılıyor
return sum(l) ardından döngüden çıkılıp aktarılan değerleri sum() adlı gömülü fonksiyonla topluyoruz ve bu değeri döndürüyoruz
print(islem("topla")) # printin içine yazmamın sebebi return ile döndürdüğümüz değeri ekranda görebilmek
# ve oluşturduğumuz fonksiyonu çağırıp parametresine yani () içine "topla" yazıyoruz
veya direk yazdığınızı düzenleyerek
a = int(input('Lütfen bir sayı giriniz'))
b = int(input('Lütfen bir sayı daha giriniz'))
c = a + b
print(c)
böyle yapabilirsiniz değişiklikler inputları int()
adlı sınıfın içine yazdık çünkü inputlardan aldığımız değeri integere yani tam sayıya dönüştürmeliyiz ki c değişkenine tanımlanan işlemi matematiksel olarak yapabilsin. Başta sizin gibi int kullanmadığımızda çıktıda 1032
yazmasının sebebi +
ifadesinin string lerde birleştirici görevinde olması