【发布时间】:2022-01-19 11:56:48
【问题描述】:
我正在尝试让我的列表打印正常范围(38.3 和 39.2)内的温度总量。当它打印时它只是说总量是 0.0 但从下面显示的温度来看它应该是 50% 任何帮助将不胜感激!
temperatures = [38.4, 38.5, 39.3, 39.1, 38, 36.5]
total_temperatures = len(temperatures)
normal_temperatures = 0
for temp in range(total_temperatures):
if temp >= 38.3 and temp <= 39.2:
normal_temperatures = normal_temperatures + 1
percentage = normal_temperatures * 100 / total_temperatures
percentage = round(percentage, 1)
print('The percentage of temperatures that lie within the normal range is', percentage)
【问题讨论】:
-
你在做
for temp in range(total_temperatures),所以temp是索引,而不是值。 -
您正在迭代
total_temperatures = len(temperatures),在这种情况下,temp变量将采用值0, 1, 2, 3, 4, 5。改为for temp in temperatures -
调试小程序,PythonTutor是一个非常有用的工具。