Utiliser les boucles
gueustou
-
gueustou -
gueustou -
Bonjour,
Je souhaite que mon programme python recommence, tant que l'utilisateur tape une chose différente de "km" et "mile". Mais, je n'y arrive pas. je vous mets, mes codes et les erreurs générés.
Je vous remercie d'avance, pour votre aide.
/////////////////////////////////////
choisir une unité entre km et mile
mile // ça ne marche pas quand l'utilisateur tape mile
donner la valeur à convertir
45
choisir une unité entre km et mile
mile
choisir une unité entre km et mile
km
45.0 km = 27.961695 miles
Je souhaite que mon programme python recommence, tant que l'utilisateur tape une chose différente de "km" et "mile". Mais, je n'y arrive pas. je vous mets, mes codes et les erreurs générés.
Je vous remercie d'avance, pour votre aide.
/////////////////////////////////////
def convert(): unite=input("choisir une unité entre km et mile\n") dist=input("donner la valeur à convertir\n") dist = float(dist) while unite !=("km") & ("mile"): unite=input("choisir une unité entre km et mile\n") if unite=="km": result = dist*0.621371 print(dist, "km = ", result, "miles\n") elif unite=="mile": result = dist/0.621371 print(dist, "miles = ", result, "km\n") >>> convert() choisir une unité entre km et mile mile donner la valeur à convertir 20 Traceback (most recent call last): File "<pyshell#56>", line 1, in <module> convert() File "<pyshell#55>", line 5, in convert while unite !=("km") & ("mile"): TypeError: unsupported operand type(s) for &: 'str' and 'str' ////////////////////////////////////////////////////////////////////////////////////////////////////// >>> def convert(): unite=input("choisir une unité entre km et mile\n") dist=input("donner la valeur à convertir\n") dist = float(dist) while unite != "km" and "mile": unite=input("choisir une unité entre km et mile\n") if unite=="km": result = dist*0.621371 print(dist, "km = ", result, "miles\n") elif unite=="mile": result = dist/0.621371 print(dist, "miles = ", result, "km\n") >>> convert()
choisir une unité entre km et mile
mile // ça ne marche pas quand l'utilisateur tape mile
donner la valeur à convertir
45
choisir une unité entre km et mile
mile
choisir une unité entre km et mile
km
45.0 km = 27.961695 miles
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Utiliser les boucles
- Utiliser chromecast - Guide
- Utiliser iphone comme webcam - Guide
- Utiliser tablette comme deuxieme ecran - Guide
- Comment utiliser utorrent - Télécharger - Téléchargement & Transfert
- Comment utiliser wetransfer - Guide
4 réponses
Merci, pour ta réponse. j'ai essayé cette écriture et ça donne:
////////////////////////
def convert():
unite=input("choisir une unité entre km et mile\n")
dist=input("donner la valeur à convertir\n")
dist = float(dist)
while unite !="km" or unite !="mile":
unite=input("choisir une unité entre km et mile\n")
if unite=="km":
result = dist*0.621371
print(dist, "km = ", result, "miles\n")
elif unite=="mile":
result = dist/0.621371
print(dist, "miles = ", result, "km\n")
>>> convert()
choisir une unité entre km et mile
mile
donner la valeur à convertir
35
choisir une unité entre km et mile
mile
choisir une unité entre km et mile
mile
choisir une unité entre km et mile
km
choisir une unité entre km et mile
km
choisir une unité entre km et mile
////////////////////////
def convert():
unite=input("choisir une unité entre km et mile\n")
dist=input("donner la valeur à convertir\n")
dist = float(dist)
while unite !="km" or unite !="mile":
unite=input("choisir une unité entre km et mile\n")
if unite=="km":
result = dist*0.621371
print(dist, "km = ", result, "miles\n")
elif unite=="mile":
result = dist/0.621371
print(dist, "miles = ", result, "km\n")
>>> convert()
choisir une unité entre km et mile
mile
donner la valeur à convertir
35
choisir une unité entre km et mile
mile
choisir une unité entre km et mile
mile
choisir une unité entre km et mile
km
choisir une unité entre km et mile
km
choisir une unité entre km et mile
Bonjour
La condition est toujours vraie :
si unité == "km" alors la partie unite != "mile" est vraie
si unité == "mile" alors la partie unite != "km" est vraie
Dans les autres cas, les deux parties sont vraies.
Il aurait fallu un "and".
while unite !="km" or unite !="mile":
La condition est toujours vraie :
si unité == "km" alors la partie unite != "mile" est vraie
si unité == "mile" alors la partie unite != "km" est vraie
Dans les autres cas, les deux parties sont vraies.
Il aurait fallu un "and".
oui, effectivement! Le code ci-dessous marche:
def convert():
unite=input("choisir une unité entre km et mile\n")
dist=input("donner la valeur à convertir\n")
dist = float(dist)
while unite != "km" and unite != "mile":
unite=input("choisir une unité entre km et mile\n")
if unite=="km":
result = dist*0.621371
print(dist, "km = ", result, "miles\n")
elif unite=="mile":
result = dist/0.621371
print(dist, "miles = ", result, "km\n")
def convert():
unite=input("choisir une unité entre km et mile\n")
dist=input("donner la valeur à convertir\n")
dist = float(dist)
while unite != "km" and unite != "mile":
unite=input("choisir une unité entre km et mile\n")
if unite=="km":
result = dist*0.621371
print(dist, "km = ", result, "miles\n")
elif unite=="mile":
result = dist/0.621371
print(dist, "miles = ", result, "km\n")