Je suis un débutant mais j'essaie d'être ambitieux et de commencer à apprendre en créant un jeu de texte avec des difficultés variables. Je prévois d'atteindre des difficultés variables en utilisant des valeurs aléatoires car la portée de mes connaissances dans la programmation est limitée.
Cependant, j'ai rencontré un problème dans lequel ma condition ELIF à l'intérieur de la fonction de difficulté est toujours satisfaite même si elle est apparemment invalide. Je suis également ouvert aux corrections dans mon code et aussi des suggestions sur ce que je peux apprendre à améliorer mon projet. Merci! p>
3 Réponses :
Je pense que vous voulez dire sortie: p> elif diff! = "1" et diff! = "2" et diff! = "3": code>. Le problème réside dans votre relevé ou code>. En Python si vous utilisez une chaîne non vide comme condition, elle renvoie toujours true code>, la même demande de liste non vide code> et dict code> aussi: not empty string
not empty list
not empty dict
Votre condition pour Essayez: p> et p> La première condition vérifie si la chaîne existe, la deuxième seule vérification de la valeur de la variable. p> refactore toute la déclaration IF-Énoncé, votre code devrait ressembler à ceci: p> elif code> est toujours vrai. Votre python posé si chaîne "2" code> ou chaîne "3" code> existe, ce qu'ils font. Vous êtes pas em> demandant la valeur de la variable.
Dois-je supprimer la boucle tandis que?
Je pense que le code fonctionne sans la boucle tandis que.
L'expression a = diff! = "1" ou "2" ou "3" code> Évaluez toujours true car la chaîne "2" et "3" évalue vrai. En effet, l'opérateur ! = Code> s'applique uniquement à la chaîne "1".
Vous devriez soit faire: if diff == "1":
...
elif diff == "2":
...
elif diff == "3":
...
else:
print("Invalid Answer.")
difficulty()
Bienvenue à la pile et merci pour la question. Pour des conseils, vous devriez essayer de ne pas répéter votre code. Il y a beaucoup de répétitions en code pour les différents résultats de diff. De plus, je pense que vous pouvez faire sans la boucle de temps.