Я получаю последовательность дня недели. Python-код того, что я хочу сделать:
def week_days_to_string(week_days):
"""
>>> week_days_to_string(('Sunday', 'Monday', 'Tuesday'))
'Sunday to Tuesday'
>>> week_days_to_string(('Monday', 'Wednesday'))
'Monday and Wednesday'
>>> week_days_to_string(('Sunday', 'Wednesday', 'Thursday'))
'Sunday, Wednesday, Thursday'
"""
if len(week_days) == 2:
return '%s and %s' % weekdays
elif week_days_consecutive(week_days):
return '%s to %s' % (week_days[0], week_days[-1])
return ', '.join(week_days)
Мне просто нужна функция week_days_consecutive
(сложная часть, хех).
Есть идеи, как я могу это сделать?
Уточнение:
Мои формулировки и примеры вызвали некоторую путаницу. Я не хочу ограничивать эту функцию только рабочей неделей. Я хочу рассматривать все дни недели (S, M, T, W, T, F Приношу свои извинения за непонятность того, что вчера вечером. Отредактировал текст вопроса, чтобы сделать его более ясным.
Изменить: добавить в него несколько гаечных ключей
Последовательность обхода:
>>> week_days_to_string(('Sunday', 'Monday', 'Tuesday', 'Saturday'))
'Saturday to Tuesday'
И, на @ user470379 и необязательно :
>>> week_days_to_string(('Monday, 'Wednesday', 'Thursday', 'Friday'))
'Monday, Wednesday to Friday'