Variable non reconnue
Bonjour,
Je programme un jeu de pendu pour un cours, tout marchait bien jusqu'à ce que je dois faire une fonction, normalement très simple qui demande à l'utilisateur d'insérer une lettre. Cependant, ma variable choix ne fonctionne pas. J'ai cependant déjà utilisé la même méthode avec d'autres fonctions, en utilisant global et en pensant bien à l'appel de la fonction, mais cela ne fonctionne pas.
Je suis débutante et j'aimerais bien un petit peu d'aide.
Voici ma fonction :
3 réponses
-
Bonjour,
A l'avenir, merci de poster ton code correctement sur le forum ( et non pas une image ! ) en utilisant l'icone prévue à cet effet lors de la rédaction de tes messages.
Ensuite... regarde ce que fais ceci :
def unefonction(unevariable): return str(input("choisir une valeur")) + unevariable choix = unefonction("12345") print(choix)
-
@jordane45:
Je ne sais pas ce que tu voulais montrer avec ce test.
Par défaut, input() retourne un type str() -
Bonjour,
@jordane45 StatutModérateur, c'est PierrotLeFou qui t'a écrit pas SenLie_ :-) De plus, je pense que PierrotLeFou te dit que ça ne sert à rien d'envelopper l'appel d'input dans str(...) car input retourne déjà une str..
@PierrotLeFou je pense que jordane45 voulait montrer qu'il est inutile de passer par une variable global (comme proposé dans le message initial de SenLie_), on peut simplement jouer sur la valeur retournée par la fonction saisir_lettre.
Cependant les extraits de code proposés jusqu'à présent ne contrôlent pas si la saisie ne comporte qu'une seule lettre non accentuée. Il faudrait plutôt écrire :
def saisir_lettre(text :str = "") -> str: ok = False while not ok: s = input(text) s = s.lower() ok = (len(s) == 1) and 'a' <= s <= 'z' return s lettre = saisir_lettre("Veuillez saisir une lettre non accentuée : ") print(lettre)Exemple :
(mando@silk) (~) $ python3 saisie.py Veuillez saisir une lettre non accentuée : é Veuillez saisir une lettre non accentuée : ab Veuillez saisir une lettre non accentuée : A aBonne chance
