Python, альтернативный список по индексу - PullRequest
0 голосов
/ 23 января 2020

У меня проблема с python системой, которая имеет расписание на 7 дней, каждый день является индексом этого списка. Проблема в том, что у нас расписание на 24 часа, поэтому график каждой недели должен чередоваться, как на картинке. Одно из правил заключается в том, что первая неделя в диапазоне всегда заканчивается sh в 6 (воскресенье), а конечная дата недели может заканчиваться sh в любой день.

Может быть, я вижу это сложнее, чем на самом деле. Я надеюсь, что некоторая помощь. Заранее спасибо.

enter image description here

Ответы [ 2 ]

1 голос
/ 23 января 2020

Примерно так работает:

days = 7 
weeks = 4
schedule = [(d+ w%2)%days + int((d+w%2)>(days-1)) for w in range(weeks) for d in range(days)]`

Что, по сути, говорит о том, что если это нечетная неделя (w% 2 = 1), добавьте ее к обычному расписанию и не допускайте, чтобы последний день был равен к 0, поэтому я добавляю термин int ((d + w% 2)> (days-1)).

1 голос
/ 23 января 2020

Проверьте, является ли переменная итерации четной или нечетной, и добавьте соответствующий список к результату.

result = []
for i in range(5):
    if i % 2 == 0: 
        result += list(range(7))
    else:
        result += list(range(1, 7)) + [1]
print(result)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...