Итак, здесь есть несколько вопросов. Вы сравниваете список с целым числом.
Вы также добавляете значение в массив еще до того, как проверяете, является ли оно допустимым. Таким образом, вы добавите значения, даже если они находятся за пределами допустимых диапазонов.
Проверка перед добавлением в массив решает обе эти проблемы, а также устраняет необходимость беспокоиться о них. он индекс. Поскольку вы не будете использовать индекс, лучше заменить переменную for l oop на подчеркивание.
Temperatures=[]
# The try-catch/if-else that I do for the input below should be done here to clean user input
Hours = int(input("Enter hours in the day: "))
for _ in range(Hours): # Changed this to underscore since we don't use it.
valid_temp = False # used to continuously get temps until you get a valid one.
while not valid_temp:
# This is the try-catch if-else that I mentioned above
# Here we split up the input to handle different issues.
temp_in = input('Enter temperature: ')
try:
# Checking that a number was entered instead of a string or something else.
temp_in = int(temp_in)
except ValueError:
print('Temperatures must be numeric')
# Since a number was not entered this skips to the next iteration of the while loop
continue
# Checks if it's in a valid temp.
if temp_in > -50 and temp_in < 150:
Temperatures.append(temp_in)
print(Temperatures)
# Terminates the loop since a valid temp was entered.
valid_temp = True
else:
print('Please Re-Enter Temperature')
# Since a valid temp was not entered the while loop is started over.
continue