Диапазон между числами и оператором if else
Я медленно изучаю Python самостоятельно, поэтому я столкнулся с проблемой.
Попытка перебрать каждое число до последнего числа и в зависимости от диапазона, в который оно входит, будет произведен расчет.
NUM = []
for b in range(1,8760):
if 3000 < b < 7000:
NUM=500
else:
NUM=300
writer.writerow([NUM])
Ошибка типа: объект 'int' не повторяется
Я также попробовал это ниже, и он работает, но печатает только одно число для всего списка вместо выбора между двумя вариантами числа...
NUM = []
for b in range(1,8760):
NUM = numpy.where((b > 3000) & (b < 7000), 500, 300)
writer.writerow([NUM])
2 ответа
Решение
Вы имели в виду это вместо этого?
NUM = []
for b in range(1,8760):
if 3000 < b < 7000:
NUM.append(500)
else:
NUM.append(300)
writer.writerow(NUM)
Вы меняете NUM внутри цикла на число 500 или 300.
Я думаю, что вы ищете, чтобы добавить в свой список
Пытаться:
NUM.append(500)
или же
NUM.append(500)
Это добавит к NUM, и вы получите список из 500 и 300 в зависимости от вашего условия if.
Вы можете увидеть, как эта структура работает здесь в документации по Python.