实例1: 温度转换
这是"实例"题,与课上讲解实例相同,请作答检验学习效果。
温度的刻画有两个不同体系:摄氏度(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()获得测试用例输入时,不要增加提示字符串。
a=input("")
if a[-1] in ['F','f']:
C=(eval(a[0:-1])-32)/1.8
print("{:.2f}C".format(C))
elif a[-1] in ['C','c']:
F=1.8*eval(a[0:-1])+32
print("{:.2f}F".format(F))
else:
print("输入格式错误")
数字形式转换 I
获得用户输入的一个正整数输入,输出该数字对应的中文字符表示。
0到9对应的中文字符分别是:零一二三四五六七八九
# 声明一个字符串模板,其中包含0到9的中文数字表示
template = "零一二三四五六七八九"
# 通过input()函数获取用户输入的正整数,并将其存储在变量s中
s = input()
# 对用户输入的字符串s进行遍历,对每个字符c执行以下操作
for c in s:
# 使用eval()函数将字符c转换为整数,并使用该整数作为索引从模板字符串中获取对应的中文数字表示
# 然后使用print()函数将该中文字符表示打印出来,末尾不换行,end="")
print(template[eval(c)], end="")
温度转换 II
温度的刻画有两个不同体系:摄氏度(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()获得测试用例,输入时,不要增加提示字符串。
# 获取用户输入
a = input()
# 如果输入以'F'开头,表示华氏度
if a[0] in ['F']:
# 使用eval()函数计算华氏度与摄氏度的转换公式
C = (eval(a[1:])-32)/1.8
# 使用字符串格式化将结果保留两位小数并打印
print("C{:.2f}".format(C))
# 如果输入以'C'开头,表示摄氏度
elif a[0] in ['C']:
# 使用eval()函数计算摄氏度与华氏度的转换公式
F = eval(a[1:])*1.8+32
# 使用字符串格式化将结果保留两位小数并打印
print("F{:.2f}".format(F))
# 如果输入不是以'F'或'C'开头,不做任何操作
else:
print("")
货币转换 I
人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中:
人民币和美元间汇率固定为:1美元 = 6.78人民币。
程序可以接受人民币或美元输入,转换为美元或人民币输出。人民币采用RMB表示,美元USD表示,符号和数值之间没有空格。
注意:
(1) 这是一个OJ题目,获得输入请使用input() ;
(2) 不提示输出格式错误,结果小数点后保留两位。
# 从用户处获取输入,赋值给变量CurStr
CurStr = input()
# 如果CurStr的前三个字符是"RMB"
if CurStr[:3] == "RMB":
# 输出按汇率6.78折算的美元金额,保留两位小数
print("USD{:.2f}".format(eval(CurStr[3:])/6.78))
# 如果CurStr的前三个字符是"USD"
elif CurStr[:3] in ['USD']:
# 输出按汇率6.78折算的人民币金额,保留两位小数
print("RMB{:.2f}".format(eval(CurStr[3:])*6.78))