Çözüldü Ürün adedi ve toplam fiyatı belirten Python programı yapma

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Damlavirüs

Hectopat
Katılım
10 Şubat 2021
Mesajlar
42
Daha fazla  
Cinsiyet
Kadın
Merhaba, çok uğraştım ancak bu çıktıyı alacak kodlamayı bir türlü yazamıyorum. Bunu fonksiyonlar ile nasıl yazabilirim?
 
Son düzenleyen: Moderatör:
Çözüm
[CODE lang="python" title="Kod"]urun_liste = [['SIRA', 'ÜRÜN', 'ADET', 'FİYAT']]


def topla(x) -> int:
toplam = 0
if x == 1:
for i in urun_liste[1:]:
toplam += int(i[2])
elif x == 2:
for i in urun_liste[1:]:
toplam += int(i[3])
return toplam


def urun_ekle():
ad = input('ÜRÜN ADI GİRİNİZ: ')
adet = input('ÜRÜN ADEDİ GİRİNİZ: ')
fiyat = input('ÜRÜN FİYATI GİRİNİZ: ')
urun = [f'{len(urun_liste)}.', ad, adet, fiyat]
urun_liste.append(urun)
kontrol = input("ÜRÜN EKLENDİ. TEKRAR EKLEMEK İÇİN D'YE ÇIKIŞ İÇİN Ç'YE BASINIZ.")
if kontrol.lower() == "d":
pass
elif kontrol.lower() == "ç":
exit()
else:
print('Hatalı girdi. Programdan çıkılıyor.')
exit()


def urun_listele():
sutun_genislik = max(len(eleman) for urun in urun_liste for eleman in urun)
for urun in urun_liste:
index = urun_liste.index(urun)
if index == 0:
print()
urun_txt = "".join(eleman.ljust(sutun_genislik) for eleman in urun)
print(urun_txt)
print(f'TOPLAM ÜRÜN ADEDİ: {topla(1)}')
print(f'TOPLAM TUTAR: {topla(2)}')


def main():
secenek = input("ÜRÜN KAYIT İÇİN 1'E, ÜRÜNLERİ LİSTELEMEK İÇİN 2'YE, ÇIKIŞ İÇİN Ç'YE BASINIZ.")
if secenek == "1":
urun_ekle()
elif secenek == "2":
urun_listele()
elif secenek.lower() == "ç":
exit()
else:
print('Hatalı girdi. Tekrar deneyin.')
return main()


if __name__ == "__main__":
main()
[/CODE]
Ugrastiginiz kodu atar misiniz belki ufak hatalar vardir duzeltebiliriz.
 
Ugrastiginiz kodu atar misiniz belki ufak hatalar vardir duzeltebiliriz.
Merhaba yazmaya başladım ancak input ile aldığım değişkeni yazdıramıyorum.

[CODE title="Kod"]print("Hoşgeldiniz.Ürününüzü kaydetmek için A'ya,ürünlerinizi listelemek için B'ye, çıkış için C'ye basınız.")

def ürünlist(A):

A = input("ürün adını giriniz:")

bu şekilde yapmıştım ancak A'yı tuşladığımda:

Traceback (most recent call last):

File "<pyshell#0>", line 1, in <module>

A

NameError: name 'A' is not defined[/CODE]

bu geliyor.
 
Son düzenleyen: Moderatör:
[CODE lang="python" title="Kod"]urun_liste = [['SIRA', 'ÜRÜN', 'ADET', 'FİYAT']]


def topla(x) -> int:
toplam = 0
if x == 1:
for i in urun_liste[1:]:
toplam += int(i[2])
elif x == 2:
for i in urun_liste[1:]:
toplam += int(i[3])
return toplam


def urun_ekle():
ad = input('ÜRÜN ADI GİRİNİZ: ')
adet = input('ÜRÜN ADEDİ GİRİNİZ: ')
fiyat = input('ÜRÜN FİYATI GİRİNİZ: ')
urun = [f'{len(urun_liste)}.', ad, adet, fiyat]
urun_liste.append(urun)
kontrol = input("ÜRÜN EKLENDİ. TEKRAR EKLEMEK İÇİN D'YE ÇIKIŞ İÇİN Ç'YE BASINIZ.")
if kontrol.lower() == "d":
pass
elif kontrol.lower() == "ç":
exit()
else:
print('Hatalı girdi. Programdan çıkılıyor.')
exit()


def urun_listele():
sutun_genislik = max(len(eleman) for urun in urun_liste for eleman in urun)
for urun in urun_liste:
index = urun_liste.index(urun)
if index == 0:
print()
urun_txt = "".join(eleman.ljust(sutun_genislik) for eleman in urun)
print(urun_txt)
print(f'TOPLAM ÜRÜN ADEDİ: {topla(1)}')
print(f'TOPLAM TUTAR: {topla(2)}')


def main():
secenek = input("ÜRÜN KAYIT İÇİN 1'E, ÜRÜNLERİ LİSTELEMEK İÇİN 2'YE, ÇIKIŞ İÇİN Ç'YE BASINIZ.")
if secenek == "1":
urun_ekle()
elif secenek == "2":
urun_listele()
elif secenek.lower() == "ç":
exit()
else:
print('Hatalı girdi. Tekrar deneyin.')
return main()


if __name__ == "__main__":
main()
[/CODE]
 
Çözüm
ne kadar teşekkür etsem az ,müteşekkirim
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…