Affichage réponse Python (débutant)

Résolu
jirZorp Messages postés 2 Date d'inscription jeudi 5 décembre 2024 Statut Membre Dernière intervention 5 décembre 2024 - Modifié le 5 déc. 2024 à 12:05
jirZorp Messages postés 2 Date d'inscription jeudi 5 décembre 2024 Statut Membre Dernière intervention 5 décembre 2024 - 5 déc. 2024 à 13:29

Bonjour,

Je suis vraiment débutant débutant sur pyhton actuellement j'utilise seulement vba pour "coder".

j'ai une petite question car je ne comprends pas pourquoi le résultat ne s'affiche pas. 

Voila dans la 2eme partie du code je veux prendre la liste que j'aurais saisi, la split, enlever les espaces, puis afficher "liste_pluschiffres".

Probleme quand je demande de print(liste_pluschiffres) ça ne me renvoie rien du tout c'est vide... 

Quand je demande de print (pluschiffres) aucun soucis j'ai bien ma liste mais je ne sais pas si c'est une chaîne de caractéres encore ou alors ça a déjà été converti en entiers etc... 

Désolé si la question vous semble trés bête mais j'ai commencé le python ce matin :)

voici le code :

chiffre=int(input("Donne moi un chiffre"))

if chiffre%2==0:
  print("Chiffre pair")
else :
  print("Chiffre impair")

pluschiffres=input("Saisie une liste de chiffres avec un séparateur ';' :")

try:
 
  liste_pluschiffres = [int(nombre.strip()) for nombre in pluschiffres.split(";") if nombre.strip()]

except:
  print("Erreur : La liste contient des éléments non valides. Veuillez entrer uniquement des nombres séparés par ';'.")

  print(liste_pluschiffres)

LE RESULTAT : 

Merci beaucoup ;)


Windows / Edge 129.0.0.0

A voir également:

2 réponses

luckydu43 Messages postés 4033 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 16 janvier 2025 994
Modifié le 5 déc. 2024 à 12:27

Bonjour !

En soi il y avait peu à faire, je ne vois pas de problème dans la for ni avec le strip.

J'ai placé la print finale dans le try et distingué les exceptions selon une erreur de saisie ou un problème de logique. Le mieux étant de faire un contrôle après saisie mais faut se faire la main avec le langage avant :-)

Indentation avec 4 espaces par convention et n'hésite pas à ajouter plus d'espaces un peu partout pour clarifier. Idem dans l'input en entrée.

bonus :

  • confusion entre nombre et chiffre (tu saisis 55 pour un chiffre)
  • boucle infinie tant que l'erreur est une erreur de saisie (d'où l'intérêt de distinguer les exceptions)
nombre=int(input("Donne moi un nombre : "))

if nombre%2==0:
    print("Nombre pair")
else:
    print("Nombre impair")

while True:
    pluschiffres=input("Saisis une liste de chiffres avec un séparateur ';' : ")
    try:
        liste_pluschiffres = [int(chiffre.strip()) for chiffre in pluschiffres.split(";") if chiffre.strip()]
        print(liste_pluschiffres)
        break;
    except ValueError:
        print("### Erreur de saisie : Entrez des chiffres séparés par ';'.")
    except Exception as e:
        print(f"### Erreur de logique dans le code : {e.__class__.__name__} - {e}")
        break;

Tiens au jus !


1
jirZorp Messages postés 2 Date d'inscription jeudi 5 décembre 2024 Statut Membre Dernière intervention 5 décembre 2024
5 déc. 2024 à 13:29

ça marche !

Merci beaucoup pour tous les conseils ;)

0