Диапазон между числами и оператором 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.

Другие вопросы по тегам