萌新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】这块,求问原因?的主要内容,如果未能解决你的问题,请参考以下文章

python温度转换代码

python第一周 基本语法原理

利用Python完成华氏度和摄氏度的转换

Python程序语法元素分析

Python摄氏度与华氏度互相转化

Python基本语法元素1.3/1.4程序基本语法元素