萌新Python温度转换程序if TempStr【-1】 in [‘F’,‘f’]报错,错误显示为【-1】这块,求问原因?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了萌新Python温度转换程序if TempStr【-1】 in [‘F’,‘f’]报错,错误显示为【-1】这块,求问原因?相关的知识,希望对你有一定的参考价值。
可能是python版本问题,我用python2,请问如果是python2如何修改
python2 的input 是做表达式处理的。你的是做str处理,所以要改成raw_input 参考技术A 1l或许正解,但好像还有一处错误,input里面的参数中双引号用了中文 参考技术B 你第一个-1是不是多了竖线?
python中的TempStr应用和温度转换
参考技术A 描述温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fahrenheit)。
请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
要求如下:
(1) 输入输出的摄氏度采用大写字母C开头,温度可以是整数或小数,如:C12.34指摄氏度12.34度;
(2) 输入输出的华氏度采用大写字母F开头,温度可以是整数或小数,如:F87.65指华氏度87.65度;
(3) 不考虑异常输入的问题,输出保留小数点后两位;
(4) 使用input()获得测试用例输入时,不要增加提示字符串。
程序:
TempStr = input()
if TempStr[0] in ['F']: #因为要求输入输出是大写C或者F,所以针对第一位字符做判断
C = (eval(TempStr[1:]) - 32)/1.8 #TempStr[1:]表示字符串除首字符外的所有字符。
print("C:.2f".format(C)) #采用:.2f将输出数字变成两位小数点表示时,即使数学上该输出值是整数,也会按照小数方式输出,例如,转换后温度为10度,输出为10.00;
elif TempStr[0] in ['C']:
F = 1.8*eval(TempStr[1:]) + 32
print("F:.2f".format(F))
else:
print() #不输入任何错误提示
以上是关于萌新Python温度转换程序if TempStr【-1】 in [‘F’,‘f’]报错,错误显示为【-1】这块,求问原因?的主要内容,如果未能解决你的问题,请参考以下文章