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.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
>>> 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'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
>>> 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