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 :
- Variable non reconnue
- Cle usb non reconnue - Guide
- Logiciel réparation clé usb non reconnue gratuit - Télécharger - Récupération de données
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
- Carte sim reconnue mais aucun service free - Forum Sony
- Carte SIM reconnue mais aucun service ✓ - Forum Nokia
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
a
Bonne chance