编写Python代码统计6个输入摄氏温度中的零下温度数量
代码修正方案
原代码存在以下问题:
- 仅在程序开始时获取一次温度输入,未在循环内重复执行6次输入操作,导致后续循环始终使用同一个温度值
- 错误使用
while循环判断温度是否低于0,会造成零下温度被无限计数的死循环 - 定义了
temp_list但未合理利用,若仅需统计零下温度数量可省略该变量,若要存储零下温度则需调整代码位置
以下是修正后的代码:
negtemp = 0 # 若需要存储所有零下温度,可取消下面一行注释 # temp_list = [] for _ in range(6): temp = int(input('Enter Celsius temperature:\n')) if temp < 0: negtemp += 1 # 若需要存储零下温度,可取消下面一行注释 # temp_list.append(temp) print('Number of below freezing temperatures:', negtemp)
代码说明:
- 通过
for _ in range(6)确保程序执行6次温度输入操作,每次循环内重新获取用户输入的温度值 - 使用
if判断当前输入的温度是否低于0,符合条件则将零下温度计数加1 - 若需要保存所有零下温度的具体数值,可取消代码中
temp_list相关行的注释(需提前定义空列表)
内容的提问来源于stack exchange,提问作者Abby Kabalin
相关产品推荐
相关产品推荐

