第13期—温度转化
1 问题描述
温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fahrenheit)
摄氏度: 中国等世界大多数国家使用
以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画
华氏度: 美国、英国等国家使用
以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画
根据华氏和摄氏温度定义,转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
请用Python编写程序将用户输入的温度进行转换~
2 解题思路
- 首先请用户输入带华氏或摄氏标志的温度值
- 然后根据温度标志选择适当的温度转换算法
- 最后输出转换后的温度
3 解题方法

num = input("请输入带有符号的温度值: ") if num[-1] in ['C', 'c']: f = 1.8 * float(num[0:-1]) + 32 print(f"转换后的温度是{f:0.2f}华氏度") elif num[-1] in ['F', 'f']: c = (float(num[0:-1]) - 32) / 1.8 print(f"转换后的温度是{c:0.2f}摄氏度") else: print("输入格式错误")
第1行: 定义变量num,用input函数获取用户输入的带有符号的温度值
第3-5行: 通过索引获取用户输入的最后一位字符,用in判断该字符是否在列表['C', 'c']中,即判断用户输入的是不是摄氏温度。若用户输入的是摄氏温度,则通过温度转换公式将摄氏温度转换为华氏温度,用print函数输出运行结果,保留小数点后两位。
第6-8行: 用in判断用户输入的最后一位字符是否在列表['F', 'f']中,即判断用户输入的是不是华氏温度。若用户输入的是华氏温度,则通过温度转换公式将华氏温度转换为摄氏温度,用print函数输出运行结果。
第9-10行: 否则,用print函数打印“输入格式错误”
- 由于input()函数返回的数据类型为字符串型,所以第4行需要用float函数将其转化为浮点数类型再进行计算
- 用户输入的字符串是有序的排列,如用户输入34C,则第一个字符是3,第二个是4,第三个是C
- 在 Python 中,字符串中的字符可以通过索引来提取,从前往后索引时,下标从 0 开始,从后往前索引时,下标从 -1 开始。因此num[0:-1]表示取从前往后的第一个字符到从后往前的第一个字符,但不包括从后往前的第一个字符(因为索引不包含尾下标的元素),如用户输入34C,获取的元素是34
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?