Python摄氏与华氏温度互转代码无输出问题求助
问题排查与修复
你的代码运行无输出的核心原因是把内置的print函数当成变量赋值了,没有调用它来打印计算结果。以下是具体的问题说明和修复方案:
核心错误分析
原代码里的print = (float(the_number) - 32) / 1.8这类写法,是将计算结果赋值给了print变量,覆盖了Python内置的print打印函数,自然不会有任何输出。正确的做法是调用print()函数来输出结果。
修复后的完整代码
the_input = input("请输入要转换的温度(带C/c或F/f标识):") unit = the_input[-1:] temp_num = the_input[:-1] if unit in ['f', 'F']: c_temp = (float(temp_num) - 32) / 1.8 print(f"转换后的摄氏温度为:{c_temp}°C") elif unit in ['c', 'C']: f_temp = float(temp_num) * 1.8 + 32 print(f"转换后的华氏温度为:{f_temp}°F") else: print("输入格式错误,请输入带C/c或F/f的温度值,例如:32F 或 100C")
额外优化说明
- 调整了变量名(比如
the_print改为the_input、the_slice改为unit),提升代码可读性 - 增加了格式错误的判断分支,避免用户输入不符合要求时仍无输出
- 使用f-string让输出结果更直观,附带温度单位标识
内容的提问来源于stack exchange,提问作者matt mayz
相关产品推荐
相关产品推荐

