Çö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

Femtopat
Katılım
10 Şubat 2021
Mesajlar
16
Bir market için ürünleri sisteme (liste olarak) (ad, fiyat, adet) bilgileri ile kaydedip daha sonra bunların bir dökümünü yaparak toplam ürün adetini ve toplam fiyat bilgisini veren Python
programını yazınız.

Not: Programda ürün bilgileri listelerde tutulacak, yapılacak işlemler fonksiyonlar aracılığı ile gerçekleştirilecek.
EKRAN ÇIKTISI
ÜRÜN KAYIT İÇİN 1'E, ÜRÜNLERİ LİSTELEMEK İÇİN 2'YE, ÇIKIŞ İÇİN Ç'YE BASINIZ.
1'E BASILINCA:

ÜRÜN ADINI GİRİNİZ : TELEFON
ÜRÜN ADETİNİ GİRİNİZ : 5
ÜRÜN FİYATINI GİRİNİZ : 3000
ÜRÜN EKLENDİ. TEKRAR EKLEMEK İÇİN D'YE ÇIKIŞ İÇİN Ç'YE BASINIZ.
D'YE BASINCA TEKRAR ÜRÜN EKLEME DEVAM EDECEK
ÜRÜN ADINI GİRİNİZ : TABLET
ÜRÜN ADETİNİ GİRİNİZ : 2
ÜRÜN FİYATINI GİRİNİZ : 1500
ÜRÜN EKLENDİ. TEKRAR EKLEMEK İÇİN D'YE ÇIKIŞ İÇİN Ç'YE BASINIZ.
(KİŞİ D'YE BASTIĞI SÜRECE LİSTEYE ELEMAN EKLEMEYE DEVAM EDECEK.)
Ç HARFİNE BASINCA EKRAN TEKRAR
ÜRÜN KAYIT İÇİN 1'E, ÜRÜNLERİ LİSTELEMEK İÇİN 2'YE, ÇIKIŞ İÇİN Ç'YE BASINIZ.
UYARISINI VERECEK.
2'YE BASINCA AŞAĞIDAKİ GİBİ BİR DÖKÜM ALACAĞIZ.
*********************************************
SIRA ÜRÜN ADET FİYAT TUTAR
1. TELEFON 5 3000 15000
2. TABLET 2 1500 3000
TOPLAM ÜRÜN ADETİ : 7
TOPLAM TUTAR : 18000
**********************************************
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
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()
KS
Damlavirüs

Damlavirüs

Femtopat
Katılım
10 Şubat 2021
Mesajlar
16
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.

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

bu geliyor.
 
Son düzenleyen: Moderatör:

UmutCan01

Picopat
Katılım
28 Ocak 2021
Mesajlar
86
Makaleler
1
Çözümler
7
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()
 
Çözüm
KS
Damlavirüs

Damlavirüs

Femtopat
Katılım
10 Şubat 2021
Mesajlar
16
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()
ne kadar teşekkür etsem az ,müteşekkirim
 
Yukarı