题目
温度的刻画有两个不同的体系:摄氏度和华氏度。
摄氏度以1标准大气压下水的结冰点为0度,沸点为100度,将两个温度区间进行100等分后确定1度所代表的温度区间,进而刻画温度值。
华氏度以1标准大气压下谁的结冰点为32度,沸点为212度,将两个温度区间进行180等分后定义为1度区间。
因此,换算算法为:
C=(F-32)/1.8
F=C*1.8+32
不同的国家可能采取不同的温度表示方法,旅行者可能需要将当地温度表示方式转换成自己习惯的理解方式,请用计算机解决这个问题吧。
输入格式:
(1)摄氏度可采用大小写字母C、c开头,温度可以是整数或小数,如:C12.34指摄氏度12.34度;
(2)华氏度可采用大小写字母F、f开头,温度可以是整数或小数,如:F87.65指华氏度87.65度;
输出格式:
(1)输出温度保留1位小数;
(2)如果输入格式未按要求,输出“输入格式错误”;
输入样例:
在这里给出一组输入。例如:
F82
输出样例:
在这里给出相应的输出。例如:
C27.8
题解
根据题意可知,从键盘中输入一串字符,然后根据第一个字符来区分华氏温度和摄氏温度然后根据换算算法来为另一种温度的数值然后输出,若不是华氏温度和摄氏温度的字符则输出“输入格式错误!”,若是则按格式转换即可。代码中的实现需要对输入的字符串进行切片操作然后再进行相关的计算,输入的数据为字符串所以需要将其转化为浮点类型的数据才可以计算。
代码实现如下:
s=input()
x=float(s[1:]) //对字符串进行切片将数字内容保存下来
if s[0]=='C' or s[0]=='c': //判断是否为摄氏温度
m=x*1.8+32
m=round(m,1) //对最后的数据保留1位小数
print(f"F{m}")
elif s[0]=='F' or s[0]=='f': //判断是否为华氏度
m=(x-32)/1.8
m=round(m,1) 对最后的数据保留1位小数
print(f"C{m}")
else:
print("输入格式错误")