Code python met "None" dans la variable.

Résolu/Fermé
Tryser - Modifié le 29 avril 2022 à 09:01
 Tryser - 29 avril 2022 à 10:12
Bonjour,

j'ai un petit problème dans mon code je ne sais pas pourquoi mais à la fin code les variables me mettent "none" voici le code :
print("Bonjour, je suis votre assistant")

nom = ""
while nom == "":
    nom = input("Quel est ton nom ? ")


def demande_age():
    age = 0
    while age == 0:
        age_str = input("Quel est votre âge ? ")
        try:
            age = int(age_str)
        except:
            print("ERREUR : vous devez rentrer un nombre")


age = demande_age()


print("")
print("Selon nos informations,vous vous appelez " + nom + " .")
print("Vous avez " + str(age) + " ans.")
print("L'an prochain vous aurez " + str(age) + " ans.")
input("Programme fini ")
A voir également:

3 réponses

Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
29 avril 2022 à 09:32
Bonjour,

Dans la fonction , il faut ajouter à la fin return(age)

et donc pas de confusion : avec age = demande_age(), on récupère bien l'âge dans age
1
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
29 avril 2022 à 08:45
bonjour,
que retourne
demande_age()
?
0
Ah d'accord j'ai compris ducoup pour mon cas si je veux utiliser une variable par exemple a dans une fonction alors je met ruturn a alors, pour ce code j'utilise return age
Mais si je fais ça il y aura une confusion puisque j'utilise age = demande_age() en cas général les confusions faut-il les éviter ? Merci beaucoup
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
29 avril 2022 à 10:06
Tu crées la confusion en utilisant le même nom de variable,
age
, à l'intérieur et à l'extérieur de la fonction.
Je pense qu'il est toujours préférable d'éviter toute confusion.
Dans la fonction, tu pourrais par exemple utiliser
age_int
comme nom de variable, à la place de
age
.
1
Tryser > yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024
29 avril 2022 à 10:12
Oui c'est ce que je pensais merci beaucoup ;) +merci
0