Facebook
From Nowy, 3 Months ago, written in Plain Text.
This paste is a reply to Untitled from Ernest - view diff
Embed
Download Paste or View Raw
Hits: 242
  1. def glowne_menu():
  2.     print("Wybierz opcje:")
  3.     print("1. Wpłata")
  4.     print("2. Wypłata")
  5.     print("3. Sprawdzenie stanu konta")
  6.     print("4. Zakończ")
  7.  
  8. def pobierz_wybor_klienta():
  9.     return int(input("Twój wybór to: "))
  10.  
  11. def pokaz_stan_konta(saldo):
  12.     print(f"Stan konta wynosi {saldo} złotych")
  13.  
  14. def pobierz_kwote(wiadomosc):
  15.     kwota = int(input(wiadomosc))
  16.     powodzenie = True
  17.     if kwota % 10 != 0:
  18.         powodzenie = False
  19.     elif kwota < 10:
  20.         powodzenie = False
  21.  
  22.     return kwota, powodzenie
  23.  
  24. def wplata(saldo):
  25.     kwota_wplaty, powodzenie = pobierz_kwote("Ile chcesz wpłacić?")
  26.     if powodzenie:
  27.         saldo += kwota_wplaty
  28.         pokaz_stan_konta(saldo)
  29.         return saldo
  30.     else:
  31.         print("Coś poszło nie tak")
  32.         return saldo
  33.  
  34. def wyplata(saldo):
  35.     kwota_wyplaty, powodzenie = pobierz_kwote("Ile chcesz wypłacić?")
  36.     if kwota_wyplaty > saldo:
  37.         print("Nie możesz wypłacić więcej, niż masz")
  38.         return saldo
  39.     elif powodzenie:
  40.         saldo -= kwota_wyplaty
  41.         pokaz_stan_konta(saldo)
  42.         return saldo
  43.     else:
  44.         print("Podałeś/łaś niepoprawną kwotę wypłaty")
  45.         return saldo
  46.    
  47. def pobierz_dane(dana):
  48.     return input(f"Podaj numer {dana}: ")
  49.  
  50. def sprawdz_zgodnosc_danych(baza,pobrane):
  51.     return baza == pobrane
  52.  
  53. #Obsługa wpłaty:
  54. # Pobranie od użytkownika ilości gotówki
  55. # Sprawdzenie, czy kwota jest wielkrotnością 10
  56. # Sprawdzenie, czy kwota jest dodatnia
  57. # Zwiększenie salda
  58. # Wyświetlenie stanu konta +
  59.  
  60. # Obsługa wypłta
  61. # Pobranie od użytkownika ilości gotówki
  62. # Sprawdzenie, czy kwota jest wielkrotnością 10
  63. # Sprawdzenie, czy kwota jest dodatnia
  64. # Nie da się wypłacić więcej, niż ma
  65. # Zmniejsza salda
  66. # Wyświetlenie stanu konta+
  67.  
  68. #powyżej bedzimy pisać wszystkie funkcje programu
  69. #saldo = 0
  70. #KARTA = "0001"
  71. #PIN = "1234"
  72. class Klient():
  73.     def __init__(self,imie,karta,pin,saldo):
  74.         self.imie = imie
  75.         self.pin = pin
  76.         self.karta = karta
  77.         self.saldo = saldo
  78.         self.historia = []
  79.  
  80. baza = []
  81. baza.append(Klient("Andrzej","0001","1234",5000))
  82. baza.append(Klient("Wiesław","0002","1234",6000))
  83. baza.append(Klient("Józek","0003","1234",3000))
  84. baza.append(Klient("Józek","0004","1234",2000))
  85.  
  86.  
  87. # poniżej będzie pętla programu
  88.  
  89. def BANKOMAT():
  90.     global saldo
  91.     podana_karta = pobierz_dane("karty")
  92.     podany_pin = pobierz_dane("PIN")
  93.     wybor = int()
  94.     klient = sprawdz_zgodnosc_danych(KARTA,podana_karta) and sprawdz_zgodnosc_danych(PIN,podany_pin)
  95.     if not klient:
  96.         print("Podane błędne dane logowania")
  97.     while wybor != 4 and klient:
  98.         glowne_menu()
  99.         wybor = pobierz_wybor_klienta()
  100.         if wybor == 1:
  101.             saldo = wplata(saldo)
  102.         elif wybor == 2:
  103.             saldo = wyplata(saldo)
  104.         elif wybor ==3:
  105.             pokaz_stan_konta(saldo)
  106.         elif wybor == 4:
  107.             print("Żegnam Pana/Pani")
  108.         else:
  109.             print("Niepoprawne dane")
  110.             pass
  111.  
  112. BANKOMAT()