This commit is contained in:
s464858 2022-10-12 17:44:48 +02:00
parent d7e39ea89c
commit 1253953bf6
3 changed files with 99 additions and 0 deletions

61
ATM.py Normal file
View File

@ -0,0 +1,61 @@
class ATM:
def __init__(self, cards):
self.cards = cards
def enter_card(self):
id_card = int(input('Please enter you card:'))
current_card = self.check_availability(id_card)
if not current_card:
print("We don't have your card in our base")
return False
return self.enter_pin(current_card)
def check_availability(self, id_card):
for i in self.cards:
if i.id_card == id_card:
return i
return False
def enter_pin(self, card):
pin = int(input('0 - to leave\n'
'Please enter you PIN:'))
if pin == 0:
return False
else:
if card.pin == pin:
return self.atm_menu(card)
else:
print('Wrong PIN')
return self.enter_pin(card)
def atm_menu(self, card):
command = 1
while command != 0:
print('1 - Check your balance\n'
'2 - Withdraw money\n'
'3 - Top up you card\n'
'4 - Transfer money\n'
'0 - To leave'
)
command = int(input('Type:'))
if command == 1:
card.balance_info()
if command == 2:
amount = int(input('How much money you want to withdraw:'))
card.withdraw_money(amount)
if command == 3:
amount = int(input('Put money in:'))
card.top_up(amount)
if command == 4:
money_taker_id = int(input('Type a card_id you want to transfer money:'))
money_taker_card = self.check_availability(money_taker_id)
if money_taker_card:
amount = int(input('How much money you want to transfer:'))
if card.transfer_minus(amount):
money_taker_card.transfer_plus(amount)
else:
print("You don't have enough money to transfer)")
else:
print("We don't have this user in our base")
return True

30
Card.py Normal file
View File

@ -0,0 +1,30 @@
class Card:
def __init__(self, id_card, pin, money):
self.id_card = id_card
self.pin = pin
self.money = money
def transfer_minus(self, amount):
if amount > self.money:
return False
else:
self.money = self.money - amount
return True
def transfer_plus(self, amount):
self.money = self.money + amount
def withdraw_money(self, amount):
if amount > self.money:
return print("You don't have enough money on your card")
else:
self.money = self.money - amount
return print("Take your money")
def top_up(self, amount):
self.money = self.money + amount
return print("Operation success")
def balance_info(self):
return print("Your balance is:", self.money)

8
main.py Normal file
View File

@ -0,0 +1,8 @@
from Card import *
from ATM import *
cards = [Card(1, 1234, 1000), Card(2, 1233, 500), Card(3, 1222, 100)]
bankomat = ATM(cards)
while True:
bankomat.enter_card()