温度转换
TempStr = input("输入一个带单位的温度:")if TempStr[-1] in ['F','f']:
C = (eval(TempStr)-32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:
F = 1.8*eval(TempStr)+32
print("转换后的温度是{:.2f}F".format(f))
else:
print("输入格式错误")
用户提供的代码存在三个主要问题:
1. 判断条件缺失单位检测
2. 未正确提取温度数值
3. 变量名大小写不一致
修正后的代码:
TempStr = input("输入带单位的温度(如32F/20C): ")
if TempStr[-1].upper() == 'F':
# 华氏转摄氏
value = float(TempStr[:-1])
C = (value - 32) / 1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1].upper() == 'C':
# 摄氏转华氏
value = float(TempStr[:-1])
F = 1.8 * value + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误(示例正确格式:32F或20C)")
关键修正说明:
[*]使用 TempStr[-1] 获取温度单位
[*]用 float(TempStr[:-1]) 提取数值部分
[*]增加单位统一大写处理 .upper()
[*]修正变量名 F 的大小写一致性
建议输入示例:
98.6F → 会转成37.00℃
0C → 会转成32.00℉
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 print("转换后的温度是{:.2f}F".format(f))
format(f))应改为F
页:
[1]