0
votes

Problèmes liés au programme de conversion de température simple python3

J'écris actuellement un programme de conversion de température simple qui doit satisfaire les éléments suivants:

  1. Vérifiez si l'utilisateur est entré dans Celsius ou Fahrenheit
  2. Acceptez les valeurs de désignation supérieure ou minuscule (I.E. C ou C pour Celsius)
  3. Si l'utilisateur n'a pas entré Celsius ou Fahrenheit, imprimez un message d'erreur
  4. convertir en alternant
  5. Imprimez la valeur, spécifiant si c'est Celsius ou Fahrenheit

    Actuellement, tout fonctionne bien, à l'exception d'impression d'un message d'erreur. Dis par exemple, je viens d'entrer 0 sans convention de température. Le programme affiche simplement: degré = INT (TEMP [: - 1]) #Toutez la chaîne sauf pour son dernier caractère ValueError: littéral invalide pour INT () avec base 10: ''

    Ce que je voudrais faire est même si je ne sais que 0 lorsque vous invitez à une entrée, il affiche simplement le message "Convention appropriée" Dans la déclaration d'autre.

    Le code que j'utilise: xxx


2 commentaires

Un correctif trivial serait de calculer dans le si et elif blocs.


Au lieu de vérifier que ce n'est pas "C" ou "F" à la fin, vérifiez au début


3 Réponses :


0
votes

Mettez la logique de conversion à l'intérieur du si bloque xxx


0 commentaires

0
votes

Vous pouvez vérifier si l'entrée de l'utilisateur est valide ou invalide comme ceci: xxx

ou simplement si str (user_input) [- 1] pas dans {'C', 'c ',' f ',' f '}: faire quelque chose


0 commentaires

0
votes

Je n'ai pas la capacité de commenter le poste de @ Bigbounty. Donc, à la mise à jour avec un code modifié. Vous pouvez réduire le nombre de lignes en l'utilisant.

Vous pouvez vérifier directement le C et F à l'aide de la température [-1]. Aussi, si vous utilisez .UPPER (), vous vérifierez toujours 'C' et 'F'.

Aussi, maintenant que vous avez vérifié pour C ou F, vous savez que la condition à l'intérieur sera soit Soyez C ou F. Pour que vous puissiez simplement utiliser si et sinon. xxx

et merci de m'avoir donné la possibilité de répondre à votre question. C'était amusant.


0 commentaires