Ma commande if ne marche pas [Résolu]

mzk38 3 Messages postés samedi 29 avril 2017Date d'inscription 30 avril 2017 Dernière intervention - 29 avril 2017 à 23:08 - Dernière réponse : mzk38 3 Messages postés samedi 29 avril 2017Date d'inscription 30 avril 2017 Dernière intervention
- 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.
Afficher la suite 
3Messages postés samedi 29 avril 2017Date d'inscription 30 avril 2017 Dernière intervention

4 réponses

Répondre au sujet
le père. 5984 Messages postés mardi 15 mai 2012Date d'inscription 11 décembre 2017 Dernière intervention - 29 avril 2017 à 23:28
0
Utile
1
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 ?
mzk38 3 Messages postés samedi 29 avril 2017Date d'inscription 30 avril 2017 Dernière intervention - 30 avril 2017 à 09:58
Ah oui effectivement c'est ça!
Merci beaucoup
Commenter la réponse de le père.
Felice_ 266 Messages postés mardi 25 avril 2017Date d'inscription 20 juillet 2017 Dernière intervention - Modifié par Felice_ le 29/04/2017 à 23:55
0
Utile
1
C'est parce que la fonction « input() » renvoi une chaîne de caractère, donc :
a = int(input())
mzk38 3 Messages postés samedi 29 avril 2017Date d'inscription 30 avril 2017 Dernière intervention - 30 avril 2017 à 09:59
Ah oui ça marche maintenant, merci beaucoup de votre aide!
Commenter la réponse de Felice_