Python实现华氏与摄氏度双向转换 列表应用转换公式问题
华氏度转摄氏度列表转换问题修复
现有代码核心问题
- 缩进错误:Python 中
if代码块下的所有从属语句必须统一缩进,否则会触发语法报错 - 遍历逻辑错误:生成表达式中的
[my_list]是把整个数值列表包装成了仅含1个元素的嵌套列表,无法遍历到每个温度值 - 输出逻辑错误:
print语句放在了列表转整数的循环内部,会重复输出多次转换结果,且直接输出生成器对象不会展示具体数值 - 逻辑冗余:不需要单独写循环转换列表元素为整数,可在输入处理阶段一次性完成
修复后可运行代码
if temp == "F": input_string = input('输入要转换为摄氏度的华氏度数值,多个值用空格分隔:') print("\n") # 分割输入同时直接转换为整数列表 fahrenheit_list = [int(value) for value in input_string.split()] print('输入的华氏度列表:', fahrenheit_list) # 批量转换为摄氏度 celsius_list = [(x - 32) * 5 / 9 for x in fahrenheit_list] print("转换后的摄氏度为:", celsius_list)
可选优化
如果需要输出更美观的结果,可以在转换时保留指定小数位,示例保留2位小数的写法:
celsius_list = [round((x - 32) * 5 / 9, 2) for x in fahrenheit_list]
内容的提问来源于stack exchange,提问作者Kaib3r
相关产品推荐
相关产品推荐

