You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Range实现摄氏度(Celsius)与华氏度(Fahrenheit)互相转换

温度双向转换程序需补充的逻辑

一、现有代码已知问题修复

  • 语法错误:首行answer1_flag = 0 while answer1_flag == 0:缺少换行,需拆分为两行:
answer1_flag = 0 
while answer1_flag == 0:
  • 逻辑错误:Python的range为左闭右开区间,现有写法会遗漏用户输入的终止值,需将range生成逻辑修改为:
# 步长为正终止值+1,步长为负终止值-1,保证包含用户输入的终止值
rng = range(start, end + (1 if interval > 0 else -1), interval)

二、需补充的核心逻辑

1. 打印对应转换方向的表头

根据用户选择的单位,打印对齐的表头:

  • 选择1(输入为摄氏度,转华氏度):打印 Celcius Fahrenheit
  • 选择2(输入为华氏度,转摄氏度):打印 Fahrenheit Celcius

2. 遍历区间执行温度转换

通过for循环遍历range内的每个原始温度值,调用对应公式计算转换结果:

for original_temp in rng:
    if ask == '1':
        # 摄氏度转华氏度
        converted_temp = 1.8 * original_temp + 32
    else:
        # 华氏度转摄氏度
        converted_temp = (original_temp - 32) / 1.8

3. 格式化输出结果

对每组原始温度和转换后温度做格式化输出,保证两列对齐,转换结果保留1位小数,匹配示例输出格式,参考代码:

# 左对齐占10个字符宽度,转换结果保留1位小数
print(f"{original_temp:<10} {converted_temp:<10.1f}")

三、可选优化项

现有代码未处理非数字输入的异常场景,比如用户输入a*10*2会直接崩溃,可以在解析输入的位置增加try-except块捕获ValueError,提示用户输入合法数字后重新输入即可。
如果需要中文交互界面,可将input内的英文提示替换为对应中文内容。

内容的提问来源于stack exchange,提问作者user17217552

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 08:54:06