J'écris actuellement un programme de conversion de température simple qui doit satisfaire les éléments suivants:
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: '' p>
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. p>
Le code que j'utilise: p>
3 Réponses :
Mettez la logique de conversion à l'intérieur du si code> bloque
Vous pouvez vérifier si l'entrée de l'utilisateur est valide ou invalide comme ceci: ou simplement si str (user_input) [- 1] pas dans {'C', 'c ',' f ',' f '}: faire quelque chose code> p> p>
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'. P>
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. P> et merci de m'avoir donné la possibilité de répondre à votre question. C'était amusant. P> p>
Un correctif trivial serait de calculer code> code> dans le
si code> etelif code> blocs.Au lieu de vérifier que ce n'est pas "C" ou "F" à la fin, vérifiez au début