题目要求:
温度的刻画有两个不同体系:摄氏度(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
输出示例1
54.21F
输入示例2
87.65F
输出示例2
54.21F
输入示例2
87.65X
输出示例2
输入格式错误
(1) 输入输出的摄氏度可采用大小写字母C结尾,温度可以是整数或小数,如:12.34C指摄氏度12.34度;
(2) 输入输出的华氏度可采用大小写字母F结尾,温度可以是整数或小数,如:87.65F指华氏度87.65度;
(3) 输出保留小数点后两位,输入格式错误时,输出提示:输入格式错误;
(4) 使用input()获得测试用例输入时,不要增加提示字符串。
代码:
1 put = input() #input函数得到的输入是字符串类型 2 if put[-1] == 'F' or put[-1] == 'f': #put[-1]表示取字符串最后一个字符 3 C = ( eval(put[0:-1]) - 32 ) / 1.8 #但put[0:-1]却表示取从字符串第一个字符到除最后一个字符外的所有字符,初学者一定要特别注意;由于input得到的是字符串类型,它是不能用于公式计算的,所以eval函数可将字符串中的数字转换为数字类型便于计算 4 print("%.2f"%C+"C") # "%.2f"%C 输出保留小数点后两位 5 elif put[-1] == 'C' or put[-1] == 'c': 6 F = eval(put[0:-1]) * 1.8 + 32 7 print("%.2f"%F+"F") 8 else: 9 print("输入格式错误") #关于if elif else的关系太啰嗦这里不作说明,但这是Python初学者特别需要注意的点