题目内容:
在温度刻画的不同体系中,利用程序辅助进行摄氏度和华氏度之间的转换。
设计算法:根据华氏和摄氏温度定义,其单位刻度对应温度关系为(212-32)/(100-0)=1.8,转换公式如下(C为摄氏度,F为华氏度):
C = ( F – 32 ) / 1.8
F = C * 1.8 + 32
(摄氏度以1标准大气压下水的结冰点为0度,沸点为100度。华氏度以1标准大气压下水的结冰点为32度,沸点为212度。)
输出样例如图:
代码如下:
input_str = input("需转换的温度为?")
temp_value, temp_system = input_str[:-1], input_str[-1]
if temp_system == 'C':
converted_temp = int(float(temp_value) * 1.8 + 32)
print(f"转换后的温度为{converted_temp}F")
elif temp_system == 'F':
converted_temp = int((float(temp_value) - 32) / 1.8)
print(f"转换后的温度为{converted_temp}C")
else:
print("输入格式错误")
解释如下:
input()
是 Python 的内置函数,用于从用户那里获取输入。程序会在控制台显示提示信息"需转换的温度为?"
,等待用户输入内容。- 用户输入的内容会被存储为字符串类型,并赋值给变量
input_str
。例如,如果用户输入25C
,那么input_str
的值就是"25C"
。input_str[:-1]
是字符串切片操作,它表示取字符串input_str
从开头到倒数第二个字符的所有字符。这部分内容代表温度的数值。input_str[-1]
表示取字符串input_str
的最后一个字符,这部分内容代表温度的单位(C 或 F)。- 通过这一步,我们将用户输入的字符串拆分成了温度值和温度单位,并分别赋值给变量
temp_value
和temp_system
。if
条件语句,用于判断温度单位是否为摄氏度('C'
)。- 如果
temp_system
的值是'C'
,则进行摄氏度到华氏度的转换。具体转换公式为:,其中 表示华氏度, 表示摄氏度。float(temp_value)
是将字符串类型的温度值转换为浮点数类型,以便进行数学运算。int(...)
是将计算结果转换为整数类型,去掉小数部分。- 最后使用
print()
函数和 f-string 格式化输出转换后的温度,单位为华氏度(F
)。
else
语句,如果temp_system
的值既不是'C'
也不是'F'
,说明用户输入的温度单位不符合要求,程序会输出"输入格式错误"
。综上所述,这段代码通过获取用户输入的温度和单位,根据不同的单位进行相应的温度转换,并输出转换后的结果。如果输入格式不正确,会给出错误提示。
觉得有帮助就给博主点个关注叭~~
有问题的可以私信或者在评论区一起交流
友友们一起加油叭QAQ