描述: 温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fahrenheit)。
请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
要求如下
(1) 输入输出的摄氏度可采用大小写字母C结尾,温度可以是整数或小数,如:12.34C指摄氏度12.34度;
(2) 输入输出的华氏度可采用大小写字母F结尾,温度可以是整数或小数,如:87.65F指摄氏度87.65度;
(3) 输出保留小数点后两位,输入格式错误时,输出提示:输入格式错误;
(4) 使用input()获得测试用例输入时,不要增加提示字符串。
输入
示例1:12.34C
示例2:87.65F
输出
示例1:54.21F
示例2:30.92C
代码:
TempStr = input("请输入带有符号的温度值:") ##赋值给字符串
if TempStr[-1] in ['F','f']: ##TempStr[-1]指的是字符串最后一个元素。
C = (eval(TempStr[0:-1]) - 32)/1.8 ##eval() 函数用来执行一个字符串表达式,并返回表达式的值。
print("转换后的温度为{:.2f}C".format(C)) ##format格式化输出,取代了"%"
elif TempStr[-1] in ['C','c']:
F = 1.8 * (eval(TempStr[0:-1])) + 32
print("转换后的温度为{:.2f}F".format(F))
else:
print("输入格式有误")
执行结果
请输入带有符号的温度值:85f
转换后的温度为29.44C
要求如下:
(1) 输入输出的摄氏度采用大写字母C开头,温度可以是整数或小数,如:C12.34指摄氏度12.34度;
(2) 输入输出的华氏度采用大写字母F开头,温度可以是整数或小数,如:F87.65指摄氏度87.65度;
(3) 不考虑异常输入的问题,输出保留小数点后两位;
(4) 使用input()获得测试用例输入时,不要增加提示字符串。
输入
示例1:C12.34
示例2:F87.65
输出
示例1:F54.21
示例2:C30.92
TempStr = input()
if TempStr[0] in ["F","f"]:
C = (eval(TempStr[1:]) - 32)/1.8
print("C{:.2f}".format(C))
elif TempStr[0] in ["C", "c"]:
F = 1.8 * eval(TempStr[1:]) + 32 # [1:]指的是第二个元素到末尾
print("F{:.2f}".format(F))
else:
print("输入格式错误")