Je ne peux pas obtenir la bonne logique derrière les instructions booléennes afin que la fonction fonctionne.
Je basse mon code sur l'exercice de LPTHW 35. Je viens de copier la structure de cet exercice et j'ai essayé de le faire fonctionner. Je voulais tester et voir si je pouvais faire du travail en boucle. P>
Si je tape oui avec Capitol Y, il imprime "Mettez-le sur l'imperméable, M ..", mais il ne fonctionnera pas de la fonction de fonction (). J'obtiens l'erreur suivante: p>
You should make a choice.
3 Réponses :
Je suppose que vous chargez un module ou définissez la fonction Alors, qu'est-ce qui se passe maintenant, est que, dans le moment où vous déclarez la variable Afin d'éviter cela, assurez-vous de garder une trace de votre espace de noms. Si vous importez un module contenant Si vous définissez simplement la fonction dans le script, vous devez renommer la fonction ou la variable. Par exemple, remplacer Bien que cela explique pourquoi pluie () code> quelque part avant d'appeler la fonction
laine () code>. p>
rain = true code> La définition de variable locale prime sur votre définition de fonction antérieure forte>. Cela implique, plutôt d'appeler la fonction
pluie () code> vous "appelez" la variable
pluie code>. P>
pluie code>, vous pouvez importer le module entier, puis utiliser
module_name.rain () code>. P>.
Rain = true code> par
it_is_rainin = true code> p>
pluie () code> n'est pas appelé, vous devez également faire attention à l'ordre de votre
si ... elif ... code> construction. Si vous entrez
'Oui' CODE>, vous allez toujours exécuter le code après l'instruction IF et les conditions suivantes sont ignorées. P>
Votre programme imprime la déclaration else, car vous n'avez pas tiré le contenu à l'intérieur de votre part d'autre et d'Elif. En ce moment, «vous devriez faire un choix» est imprimé en dehors de votre relevé IF. p>
Je vais essayer de corriger le code et de donner des conseils: cherche # !!!
Premier: Cet élif ne sera jamais évalué, juste parce que si logique derrière quelque chose ici est caché: vous demandez s'il pleut et écrivez: "Comment puis-je activer cette condition depuis la pluie = true?" P>
BlockQuote> Eh bien, si l'utilisateur a dit qu'il ne pleut pas, il ne pleut pas. P> Je ne sais pas pourquoi vous utilisez un booléen pré-installé, même si vous avez une entrée de l'utilisateur. p> indentation après sinon: déclaration. p> Eh bien, votre déclaration aura une entrée "non", car la pluie est vraiment toujours vraie. P> Penser que la pluie Boolean est en quelque sorte nécessaire: p>
Votre indentation est incompatible. Assurez-vous que l'indentation dans le code que vous montrez est ce que c'est vraiment.
Et comment pouvez-vous appeler
pluie code> lorsque vous deux lignes avant de le définir comme une variable booléenne (avec
rain = true code>)? Avez-vous aussi i> avoir une fonction appelée
pluie code> (que vous ne nous montrez pas)? C'est pourquoi il est si important que vous créiez un exemple de reproductible minimal pour nous montrer. Lisez également sur Comment poser de bonnes questions , ainsi que Cette question de contrôle .