我正在调用字典中的函数。在下面的代码中,select.get
没有按预期工作。如果inum = 2
,它仍将执行login()
如果您能帮助我们找到问题所在,我们将不胜感激
def menu():
print("Choose\n1.Log in\n2.Exit")
inum = input()
select = {
1: login(),
2: exit(),
}
select.get(inum, menu())
def login():
guess = ""
acct = "12345"
oog = 3
out = 0
while guess != acct:
if oog == out:
print("no trys left")
input()
exit()
print((str(oog)) + "trys left " + "\nEnter Password here: ")
guess = input()
oog = oog - 1
menu()
如果要执行类似操作,则需要传递对函数的引用,而不是调用函数的结果。然后,您可以在进行选择时查看这些功能。例如:
您没有调用用户选择的函数。您将立即调用这两个函数,并将它们的返回值放入字典中
当你调用
select.get()
时,你递归调用menu()
,没有任何终止条件您需要将函数放入字典,而不是它们的返回值。然后调用
select.get()
返回的内容由于
input()
返回一个字符串,因此需要使用字符串作为字典中的键相关问题 更多 >
编程相关推荐