Variable non reconnue
Fermémamiemando Messages postés 33642 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 avril 2025 - 6 mars 2023 à 17:31
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
- Carte sim reconnue mais aucun service - Forum Mobile
- Vba range avec variable ✓ - Forum VB / VBA
3 réponses
4 mars 2023 à 18:52
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()
4 mars 2023 à 19:20
regarde comment j'ai utilisé les variables ....
Comment on passe une variable dans une fonction
Comment on utilise une variable provenant d'une fonction (via le return)
4 mars 2023 à 19:21
As tu au moins testé le code que je t'ai fourni ?
Vois tu ce qu'il fait ?
Cela ne t'aide t'il pas un minimum à comprendre le souci dans ton code ?
6 mars 2023 à 17:31
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