Name is not defined

Fermé
larbes - Modifié le 27 oct. 2022 à 14:19
 Utilisateur anonyme - 27 oct. 2022 à 19:17

Bonjour,

J'ai un exercice de python, je dois faire le jeu de Molkky, j'ai fait une fonction mais quand je l'execute ça me met name is not defined, pouvez vous me dire pourquoi et qu'est-ce que je dois changer

def jouer():
    n=input("Quel est ton nom")
    l=0
    h=0
    while l!=51:
        h=h+1
        if l<51:
            import random
            m=[0,1,2,3,4,5,6,7,8,9,10,11,12]
            return random.choice(m)
            l=l+m
        else:
            l=25
            import random
            m=[0,1,2,3,4,5,6,7,8,9,10,11,12]
            return random.choice(m)
            l=l+m    
jouer()
print(l,h)


Windows / Chrome 106.0.0.0

4 réponses

Utilisateur anonyme
27 oct. 2022 à 19:17

Salut Phil,

je n'avais même pas fait attention à l'import.

Larbes, ton message d'erreur n'a rien à voir avec l'import.

Mais l'import en boucle risque de te poser un problème à un autre moment, donc maintenant que c'est identifié, autant le corriger.

Tu as dit que tu as un exercice.

Un exercice, ça ne tombe pas du ciel, ça vient d'un cours. En principe, l'exercice fait appliquer des notions qui ont été vues.

Donc, tu devrais avoir vu ce qu'est la portée d'une variable ou à défaut, comment obtenir un résultat d'une fonction.

Et par conséquent, relis ton cours.


1
Utilisateur anonyme
27 oct. 2022 à 15:06

Bonjour 

tout d'abord, merci à Baladur d'avoir rendu ton code lisible.

Pour tes prochains post, merci d'utiliser la coloration syntaxique, comme décrit ici https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code


Pour ton problème, ça nous aiderait de savoir à quelle ligne apparaît ce message d'erreur.

Peut-être d'ailleurs que le message d'erreur original est plus complet que ça, en te mettant par exemple

'l' name is not defined

Et dans ce cas, une petite recherche sur la portée des variables dans ton cours te sera profitable.


0

C’est à la ligne 19 que ça affiche et c’est comme vous l’avez écrit. Ça m’affiche ça 

0
Utilisateur anonyme
27 oct. 2022 à 16:36

Et bien donc, je t'invite à relire le paragraphe sur la portée des variables 


0

Je ne comprends pas la variable l je l’ai défini 

0
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
Modifié le 27 oct. 2022 à 17:04

Tu l'as définie dans la fonction

Mais est-elle visible à l'extérieur ?

(c'est ça la portée des variables)

Et de plus, on met les import une seule fois en tout début de code

import random

suite du code

Tel que tu le fais, ça l'importe 50 fois, ce qui est inutile 

0

D’accord, si je le retire le message d’erreur va rester non ?

0