If avec nombre superieur, inferieur ou egal
Résoluxunil2003 Messages postés 765 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je n'arrive pas a m'en sortir avec if
#!/usr/bin/python3 # -*- coding:utf-8 -*- liste_des_fichiers_avec_chemin = ['/home/serveur/Vidéos/Films/Arthur-et-les-Minimoys_2006_TrueFrench-HDLight-1080p-x264.mkv', '/home/serveur/Vidéos/Films/Cosmic-Sin-2021-MULTi-VFI-2160p-10bit-4KLight-HDR10PLUS-BluRayAC35.1-x265-QTZ.mkv', '/home/serveur/Vidéos/Films/Chair de poule 2015 1080p FR EN X264 AC3-mHDgz.mkv'] def fonction_if(nb): print() print ("nb : ", nb) print () nb_elements = len(liste_des_fichiers_avec_chemin) print ("nb_elements : ",nb_elements) if nb < "0": print ("contient une valeur négative") elif nb < str(nb_elements): print (nb+" est inferieur au nombre de la liste qui contient "+str(nb_elements)+" elements - envoyé : "+nb+" - liste : "+str(nb_elements)) elif nb > str(nb_elements): print (nb+" est superieur au nombre de la liste qui contient ",str(nb_elements)+" elements - envoyé : "+nb+" - liste : "+str(nb_elements)) elif nb == str(nb_elements): print (nb+" est égal au nombre de la liste qui contient ",str(nb_elements)+" elements - envoyé : "+nb+" - liste : "+str(nb_elements)) print () nb = input("Enter un nombre entre 0 et 100 : ") print(nb) fonction_if(nb)
Qand je tape 0
serveur@RPI-5:~ $ python3 /home/serveur/Langages/python/3/videos2/if.py
Enter un nombre entre 0 et 100 : 0
0
fonction_if
-----------
nb : 0
nb_elements : 3
0 est inferieur au nombre de la liste qui contient 3 elements - envoyé : 0 - liste : 3
serveur@RPI-5:~ $
au lieu de reponde "contient une valeur négative"
Quand je tape 2
serveur@RPI-5:~ $ python3 /home/serveur/Langages/python/3/videos2/if.py
Enter un nombre entre 0 et 100 : 2
2
fonction_if
-----------
nb : 2
nb_elements : 3
2 est inferieur au nombre de la liste qui contient 3 elements - envoyé : 2 - liste : 3
serveur@RPI-5:~ $
la c'est ok
Quand je tape 3
serveur@RPI-5:~ $ python3 /home/serveur/Langages/python/3/videos2/if.py
Enter un nombre entre 0 et 100 : 3
3
fonction_if
-----------
nb : 3
nb_elements : 3
Contient une valeur égal à 3 - envoyé : 3
3 est égal au nombre de la liste qui contient 3 elements - envoyé : 3 - liste : 3
serveur@RPI-5:~ $
la c'est ok
Quand je tape 5
serveur@RPI-5:~ $ python3 /home/serveur/Langages/python/3/videos2/if.py
Enter un nombre entre 0 et 100 : 5
5
fonction_if
-----------
nb : 5
nb_elements : 3
5 est superieur au nombre de la liste qui contient 3 elements - envoyé : 5 - liste : 3
serveur@RPI-5:~ $
La c'est ok
Quand je tape 10
serveur@RPI-5:~ $ python3 /home/serveur/Langages/python/3/videos2/if.py
Enter un nombre entre 0 et 100 : 10
10
fonction_if
-----------
nb : 10
nb_elements : 3
10 est inferieur au nombre de la liste qui contient 3 elements - envoyé : 10 - liste : 3
serveur@RPI-5:~ $
La c'est pas bon et il me répond inférieur au lieu de supérieur, 10 c'est plus grand que 3 ??
Comment doit je mis prendre avec if ou est mon erreur ?
pouvez-vous m'aider ?
Merci d'avance pour vos avis et conseils.
Linux / Firefox 122.0
- If avec nombre superieur, inferieur ou egal
- Inférieur ou égal clavier - Forum Ubuntu
- Superieur ou egal clavier ✓ - Forum Word
- Signe supérieur et inférieur clavier azerty ✓ - Forum Clavier
- Arrondi 0.5 supérieur ou inférieur ✓ - Forum Excel
- Comment utiliser le signe inférieur et supérieur ✓ - Forum Windows 8 / 8.1
2 réponses
Bonjour,
"0" c'est une chaine, pour tester un nombre ce devrait être 0
Puis sur la logique if nb < 0 c'est pour tester une valeur négative, pour inclure zéro il faudrait <=
Et dans nb =input(...) nb est une chaine, il faudrait pour traiter des nombres nb=int(input( ))
Enfin cela permet de supprimer str() sur les str(nb_elements). On traite tout en numérique.
#!/usr/bin/python3 # -*- coding:utf-8 -*- liste_des_fichiers_avec_chemin = ['/home/serveur/Vidéos/Films/Arthur-et-les-Minimoys_2006_TrueFrench-HDLight-1080p-x264.mkv', '/home/serveur/Vidéos/Films/Cosmic-Sin-2021-MULTi-VFI-2160p-10bit-4KLight-HDR10PLUS-BluRayAC35.1-x265-QTZ.mkv', '/home/serveur/Vidéos/Films/Chair de poule 2015 1080p FR EN X264 AC3-mHDgz.mkv'] def fonction_if(nb): print() print ("nb : ", nb) print () nb_elements = len(liste_des_fichiers_avec_chemin) print ("nb_elements :",nb_elements) if nb <= 0: print ("contient une valeur négative ou nulle") elif nb < nb_elements: print (nb," est inferieur au nombre de la liste qui contient ",nb_elements," elements - envoyé :", nb, " - liste :",nb_elements) elif nb > nb_elements: print (nb," est superieur au nombre de la liste qui contient ",nb_elements," elements - envoyé :", nb, " - liste :",nb_elements) else: print (nb," est égal au nombre de la liste qui contient ",nb_elements," elements - envoyé :",nb, " - liste :",nb_elements) print () nb = int(input("Enter un nombre entre 0 et 100 : ")) print(nb) fonction_if(nb)
Le dernier elif est superfétatoire (inutile) tu as testé < et > donc ne reste qu'égal.