这是"实例"题,与课上讲解实例相同,请作答检验学习效果。
温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fahrenheit)。请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8 F = C * 1.8 + 32
要求如下:
输入示例1
12.34C
输出示例1
54.21F
输入示例2
87.65F
输出示例2
54.21F
t = input(); # 分号是错的 if t[-1] in ['F', 'f']: c = ( eval(t[0:-1]) - 32 ) / 1.8 print("{:.2f}C".format(c)) elif t[-1] in ['C', 'c']: f = eval(t[0:-1]) * 1.8 + 32 print("{:.2f}F".format(f)) else: print("输入格式错误")
分号
,Python不需要分号!!!缩进
导致代码逻辑错误eval()
print()
格式输出,把中间的小数点打成逗号print()
,把C写到双引号外面if
后面忘记加分号温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fahrenheit)。
请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8 F = C * 1.8 + 32
要求如下:
输入示例1
C12.34
输出示例1
F54.21
输入示例2
F87.65
输出示例2
C30.92
t = input() if t[0] == 'F': c = (eval(t[1:len(t)]) - 32) / 1.8 print("C{:.2f}".format(c)) elif t[0] == 'C': f = eval(t[1:len(t)]) * 1.8 + 32 print("F{:.2f}".format(f))
Python3字符串可以在分号内冒号来实现取部分,[1:]
表示从下标为1,即第二个元素开始,而[1:len(t)]
的冒号后面的标示到len(t)下标结束,但不包括这个下标,打印范围是[1,len-1]
标准答案中是没有len(),省略则表示一直打印到末尾
在下一段代码出现了这一个用法
money = input() if money[0:3] == "RMB": USD = eval(money[3:]) / 6.78 print("USD{:.2f}".format(USD)) elif money[0:3] == "USD": RMB = eval(money[3:]) * 6.78 print("RMB{:.2f}".format(RMB))