Bootstrap

Python:温度转化

题目内容:

在温度刻画的不同体系中,利用程序辅助进行摄氏度和华氏度之间的转换。

设计算法:根据华氏和摄氏温度定义,其单位刻度对应温度关系为(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

 

;