If avec nombre superieur, inferieur ou egal
Résoluxunil2003 Messages postés 830 Statut Membre -
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
- Arrondi 0.5 supérieur ou inférieur ✓ - Forum Excel
- Signe supérieur et inférieur clavier azerty ✓ - Forum Clavier
- Superieur ou egal clavier ✓ - Forum Word
- Inférieur ou égal clavier - Forum Ubuntu
- 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.