Aidez s'il vous plaît! Je ne comprends pas l'erreur ici. Pourquoi ai-je une erreur disant: "l'objet 'int' n'est pas appelable" quand je tape un nombre autre que 0, 1 ou 2? Au lieu de cela, il est supposé d'imprimer "Vous avez entré un nombre incorrect, s'il vous plaît essayez à nouveau" et revenir à poser la question.Python Int objet non appelable
Deuxième question: Comment puis-je modifier le code de manière à ce que même si je tape des caractères alphabétiques, cela ne me donne pas l'erreur de valeur et continue de poser à nouveau la question? Je vous remercie!
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()
ombres Votre nom variable, le nom de la fonction. Vous essayez d'appeler la fonction 'player_action()' mais vous appelez en fait la variable 'player_action', qui est un int. N'utilisez pas le même nom pour la fonction et la variable! – Craig
En outre, il n'y a aucune raison de rendre cette fonction récursive. Mettez juste une boucle 'while' jusqu'à ce que vous obteniez une entrée valide, puis faites quelque chose avec cette entrée. – Craig
oh d'accord merci! –