我的任务是创建一个ATM类型的程序。以下是我的主要功能(不包括存款,提款和支票余额功能)。当我运行该代码时,即使我输入0或1234,该程序也会重复循环pin功能。它反复指示用户输入其pin。我认为所有缩进都正确,但是我想我正在弄乱代码中的某个地方。
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()
答案 0 :(得分:0)
在if语句中,应该使用=
而不是==
。第一个用于为变量分配值,就像您尝试做的那样。第二个用于比较两个值是否相等,并返回一个布尔值(真/假)。
答案 1 :(得分:0)
您的代码
if stop != True:
如果变量stop为False(用户输入了错误的代码),将在循环内运行代码。但是,如果stop为True,则要运行代码。 因此,请使用以下代码:
if stop == True:
当stop为True(用户输入正确的代码)时,这将运行封装的代码
编辑:
抱歉。上面的答案与以下代码有关的代码:以下:
if pin_number == "1234":
stop = False