Untitled
unknown
plain_text
2 months ago
4.1 kB
5
Indexable
Свободное место закончилось 14 дней назад … Недостаточно свободного места. Вы не сможете добавлять новые файлы на Диск, сохранять облачные копии в Google Фото и пользоваться Gmail. Получите 100 ГБ в хранилище и пользуйтесь им вместе с участниками семейной группы за 139 ₽ 20 ₽ в течение 3 месяцев.
class ATM:
def __init__(self, balance=0):
self.balance = balance
def check_balance(self):
#Проверка текущего баланса
print(f"Ваш баланс: {self.balance} рублей")
def deposit(self, amount):
#Пополнение текущего баланса
if amount > 0:
self.balance = self.balance + amount
print(f"Вы внесли {amount} рублей.")
else:
print("Сумма должна быть больше нуля.")
def withdraw(self, amount):
#Снятие наличных
if amount>0 and amount <= self.balance:
self.balance = self.balance - amount
print(f"Вы сняли {amount} рублей.")
else:
print("Недостаточно средств или неправильная сумма.")
class SecureATM(ATM):
def __init__(self, pin, balance=0):
super().__init__(balance)
self.pin = pin
self.is_authenticated = False
def authenticate(self, entered_pin):
#Аутентификация пользователя по PIN-коду
if entered_pin == self.pin:
self.is_authenticated = True
print("Аутентификация успешна.")
else:
print("Неверный PIN-код.")
def withdraw(self, amount):
#Снятие наличных с проверкой PIN-кода"""
if self.is_authenticated==True:
super().withdraw(amount)
else:
print("Необходимо пройти аутентификацию.")
def deposit(self, amount):
#Внесение денег с проверкой PIN-кода"""
if self.is_authenticated:
super().deposit(amount)
else:
print("Необходимо пройти аутентификацию.")
def atm_menu(atm):
while True:
print("\n--- Меню банкомата ---")
print("1. Проверить баланс")
print("2. Внести деньги")
print("3. Снять деньги")
print("4. Ввести пин-код")
print("5. Завершить обслуживание")
print("6. Выход")
choice = input("Выберите действие: ")
if choice == '1':
atm.check_balance()
elif choice == '2':
amount = float(input("Введите сумму для внесения: "))
atm.deposit(amount)
elif choice == '3':
amount = float(input("Введите сумму для снятия: "))
atm.withdraw(amount)
elif choice == '4':
entered_pin = int(input("Введите PIN-код для аутентификации: "))
atm.authenticate(entered_pin)
elif choice == '5':
atm.is_authenticated=False
print("Сессия завершена!")
elif choice == "6":
print("Завершить программу")
break
else:
print("Неправильный выбор.")
pin = int(input("Установите PIN-код для SecureATM: "))
secure_atm = SecureATM(pin=pin, balance=10000)
entered_pin = int(input("Введите PIN-код для аутентификации: "))
secure_atm.authenticate(entered_pin)
atm_menu(secure_atm)Editor is loading...
Leave a Comment