Ma commande if ne marche pas

Résolu/Fermé
mzk38 Messages postés 3 Date d'inscription samedi 29 avril 2017 Statut Membre Dernière intervention 30 avril 2017 - Modifié le 29 avril 2017 à 23:13
mzk38 Messages postés 3 Date d'inscription samedi 29 avril 2017 Statut Membre Dernière intervention 30 avril 2017 - 30 avril 2017 à 09:59
Bonsoir,
Je voudrais écrire un programme qui répond à la consigne "Écrivez un programme qui convertisse en degrés Celsius une température exprimée au départ en degrés Fahrenheit, ou l’inverse."

J'ai donc écrit le programme suivant:

print("Sens de conversion:")
print("0: De Celsius à Fahrenheit")
print("1: De Fahrenheit à Celsius")
a=input()
if(a==0):
    print("Température en Celsius à convertir:")
    C=float(input())
    F=C*1.8+32
    print(C,"degrés Celsius =",F,"degrés Fahrenheit")
else:
    print("Temperature en Fahrenheit à convertir:")
    FF=float(input())
    CC=(FF-32)/1.8
    print(FF,"degrés Fahrenheit =",CC,"degrés Celsius")


Mais lorsque je donne la valeur 0 à a, pour avoir la conversion de Celsius à Fahrenheit, la commande "if" considère que a est différent de 0 et me propose donc la conversion de Fahrenheit à Celsius.

Je ne comprend vraiment pas où est mon erreur, sauriez-vous ce que j'ai mal fait?
Merci de votre aide.

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

Utilisateur anonyme
29 avril 2017 à 23:28
Bonjour

Je ne m'y connais pas en Python, mais ce ne serait pas parce qu'input() te rend une chaîne de caractères, et que toi tu compares avec un nombre ?
1
mzk38 Messages postés 3 Date d'inscription samedi 29 avril 2017 Statut Membre Dernière intervention 30 avril 2017
30 avril 2017 à 09:58
Ah oui effectivement c'est ça!
Merci beaucoup
0
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
Modifié le 29 avril 2017 à 23:55
C'est parce que la fonction « input() » renvoi une chaîne de caractère, donc :
a = int(input())
0
mzk38 Messages postés 3 Date d'inscription samedi 29 avril 2017 Statut Membre Dernière intervention 30 avril 2017
30 avril 2017 à 09:59
Ah oui ça marche maintenant, merci beaucoup de votre aide!
0