辞書で関数を呼び出しています。以下のコードで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()
ユーザーが選択した関数を呼び出していません。両方の関数をすぐに呼び出し、それらの戻り値を辞書に入れます。
またmenu()
、を呼び出すときに、終了条件なしで再帰的に呼び出していますselect.get()
。
関数は、戻り値ではなく、辞書に入れる必要があります。次に、何select.get()
が返されるかを呼び出します。
またinput()
、文字列を返すため、辞書のキーとして文字列を使用する必要があります。
def menu():
print("Choose\n1.Log in\n2.Exit")
inum = input()
select = {
'1': login,
'2': exit,
}
select.get(inum, menu)()
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加