Программирование банкомата - PullRequest
0 голосов
/ 12 октября 2018

Мое задание - создать программу типа банкомата.Ниже моя основная функция (не включая функции пополнения, снятия и проверки баланса).Когда я запускаю этот код, программа несколько раз циклически повторяет функцию вывода, даже когда я ввожу 0 или 1234. Она неоднократно инструктирует пользователя ввести свой вывод.Я думаю, что у меня есть все отступы, но я думаю, что я что-то напутал в коде.

def main():
    pin_number = input("Please enter your pin number")
    stop = False

    while not is_authorized(pin_number) and stop!= True:

        if pin_number == "0":
            stop == True
        if pin_number == "1234":
            stop == False  

    if stop != True:
            while True:
                choice = display_menu()
            if choice == 1:
                deposit()
            elif choice == 2:
                withdraw()
            elif choice == 3:
                check_balance()

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Ваш код

if stop != True:

будет запускать код внутри цикла, если переменная stop равна False (пользователь ввел неправильный код).Тем не менее, вы хотите запустить код, если stop равен True.Поэтому используйте этот код:

if stop == True:

, при этом код запускается, когда останов равен True (пользователь ввел правильный код)

РЕДАКТИРОВАТЬ:

Мои извинения.Приведенный выше ответ касается кода следующего этого кода:

if pin_number == "1234":
    stop = False
0 голосов
/ 12 октября 2018

В ваших операторах if вы должны использовать =, а не ==.Первый используется для присвоения значений переменным, как вы пытаетесь сделать.Вторая используется для сравнения, если два значения равны, и возвращает логическое значение (true / false).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...