助けてください!私はここでのエラーを理解していない。なぜ私は0、1、2以外の数字を入力すると「int 'オブジェクトが呼び出し可能でない」というエラーが出るのですか?代わりに、「あなたは正しくない番号を入力しました。もう一度やり直してください」と印刷し、質問に戻ることを想定しています。呼び出し可能でないPython Intオブジェクト
2番目の質問:文字を入力しても値エラーが発生せず、質問を再入力する方法でコードを変更するにはどうすればよいですか?ありがとうございました!
def player_action():
player_action = int(input("Enter 0 to stay, 1 to go Up, or 2 to go Down: "))
if player_action == 0:
print ("Thank You, you chose to stay")
if player_action == 1:
print ("Thank You, you chose to go up")
if player_action == 2:
print ("Thank You, you chose to go down")
else:
print ("You have entered an incorrect number, please try again")
player_action()
player_action()
あなたの変数名が関数名をシャドウ:
ここにあなたの参照のための完全なバージョンです。あなたは関数 'player_action()'を呼び出そうとしますが、実際には変数 'player_action'を呼び出しています。これはintです。関数と変数に同じ名前を使用しないでください! – Craig
また、この関数を再帰的にする理由もありません。あなたが有効な入力を得てから、その入力で何かをするまで、 'while'ループを置くだけです。 – Craig
ああありがとう! –