Le mot "None" apparait sans raison

Résolu

Bonjour,

Je suis débutant et lors de mon apprentissage, à la fin d'une fonction, le mot "None" est apparu alors qu'il n'y a pas lieu d'être. Je ne comprends pas pourquoi il est là. 

Pourrait-on m'expliquer ce qu'est ce "None" est aussi pourquoi il est apparu ?

Merci d'avance

2 réponses

  1. Bonjour,

    Tu devrais afficher le code ici, on y verrait plus clair ...

    0
    1. def afficher_infos_perso(nom, age):
          print("vous vous appelez " + nom + " et vous avez " + str(age) + " ans !")
          print("l'an prochain vous aurez " + str(age + 1) + " ans !")
      
          if age == 17:
              print("Vous êtes presque majeur")
          elif age <= 10:
              print("Vous êtes enfant")
          elif age == 18:
              print("Tout juste majeur : Félicitations")
          elif age >= 60:
              print("Vous êtes senior")
          elif age >= 18:
              print("Vous êtes majeur")
          else:
              print("Vous êtes mineur")
      
      def demander_nom():
          nom_reponse = ""
      
          while nom_reponse == "":
              nom_reponse = input("Quelle est votre nom ?")
      
              if nom_reponse == "":
                  print("Vous devez écrire un nom, veuillez ressayer")
          return nom_reponse
      
      def demander_age(nom_personne):
          age_int = 0
      
          while age_int == 0:
              age_str = input(nom_personne + " qu'elle est votre age ?")
      
              try:
                  age_int = int(age_str)
      
              except:
                  print("ERREUR, vous devez rentrer un chiffre, veuillez rééssayer :")
          return age_int
      
      nom1 = demander_nom()
      nom2 = demander_nom()
      age1 = demander_age(nom1)
      age2 = demander_age(nom2)
      print(afficher_infos_perso(nom1, age1))
      print(afficher_infos_perso(nom2, age2))
      0
    2. Contributeur
      @Aasp78

      Explique maintenant ce qu'il faut répondre à ton programme pour obtenir "None".

      0
    3. @yg_be

      Je ne crois pas avoir compris, je n’ai pas demandé à ce que le none apparaît donc je ne comprend pas pk il apparaît 

      0
    4. @Aasp78

      Bonsoir, il apparaît, car une fonction retourne None par défaut.

      Alors, soit tu retournes une chaîne dans ta fonction afficher_infos_perso, soit tu enlèves les aux lignes suivantes :

      print(afficher_infos_perso(nom1, age1))
      print(afficher_infos_perso(nom2, age2))
      1
    5. @gluto

      Merci beaucoup pour cette explications claires et précises 

      0
  2. Contributeur

    Un exemple d'apparition spontanée de None:

    def bonjour():
        bonjour=123
    print(bonjour())
    0