Python练习题——温度单位转换问题

要求:
(1) 输入输出的摄氏度可采用大小写字母C结尾,温度可以是整数或小数,如:12.34C指摄氏度12.34度;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

(2) 输入输出的华氏度可采用大小写字母F结尾,温度可以是整数或小数,如:87.65F指摄氏度87.65度;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

(3) 输出保留小数点后两位,输入格式错误时,输出提示:输入格式错误;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

(4) 使用input()获得测试用例输入时,不要增加提示字符串。

eval=input()
if eval[-1] in ['C','c']:
  F=float(eval[0:-1])*1.8+32
  print("%.2fF"%F)
elif eval[-1] in['F','f']:
  C=(float(eval[0:-1])-32)/1.8
  print("%.2fC"%C)
else:
    print("输入格式错误")

错误点归纳:
(1)input后面要加括号()
(2)判断并不是判断所有的输入字符串元素,只需要判断最后一个即可[-1]
(3)将输入的字符串全部转换为浮点数用float(),[0:-1]表示一共n个元素只取【0,n-1】
(3)%.2f
(4)else后有冒号:
(5)if XX in[XX,XX]: 这里有冒号!!

另外一个类似的例子,要求如下:

(1) 输入输出的摄氏度采用大写字母C开头,温度可以是整数或小数,如:C12.34指摄氏度12.34度;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

(2) 输入输出的华氏度采用大写字母F开头,温度可以是整数或小数,如:F87.65指摄氏度87.65度;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

(3) 不考虑异常输入的问题,输出保留小数点后两位;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

(4) 使用input()获得测试用例输入时,不要增加提示字符串。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬
代码如下:

val=input()
if val[0] in ['F','f']:
  C=(float(val[1:-1]+val[-1])-32)/1.8
  print("C%.2f"%C)
elif val[0] in['C','c']:
  F=float(val[1:-1]+val[-1])*1.8+32
  print("F%.2f"%F)

只需要注意因为要取到最后一个,所以最后需要加上val[-1]

类似例子,可以再检验自己一下
要求:假设1美元 = 6.78人民币,输出两者的换算

val=input()
if val[0:3]in ['RMB']:
    USD=float(val[3:-1]+val[-1])/6.78
    print("USD%.2f"%USD)
elif val[0:3]in ['USD']:
    RMB=6.78*float(val[3:-1]+val[-1])
    print("RMB%.2f"%RMB)


2019/1/23

你可能感兴趣的:(Python练习题——温度单位转换问题)