首页 > 解决方案 > python循环列表(显示工作日的总30天)

问题描述

list = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]

我想显示工作日的总 30 天,有人可以告诉我如何在 for 或 while 循环中做到这一点吗?谢谢

我想要的输出是:

day 0 : Sun
day 1 : Mon
day 2 : Tue
day 3 : Wed
day 4 : Thu
day 5 : Fri
day 6 : Sat
day 7 : Sun
day 8 : Mon
day 9 : Tue
day 10 : Wed
day 11 : Thu
day 12 : Fri
...
...
day 30 :

我的代码:

     a = 0
     for i in range(0,30):
         print("Day",str(i),list[a])
         a += 1

错误:

    Traceback (most recent call last):
    File "tracker.py", line 25, in <module>
    print("Day",str(i),weekdays[day_number])
    IndexError: list index out of range

标签: python

解决方案


monthdays = 30
day_index = 6
for i in range(monthdays):
    day_index = (day_index + 1) % 7
    day = weekdays[day_index]
    print("day", i, day)

day_index 为 6,因为您从星期日开始,但您可以更改它。

也不需要调用str(i)inside print,它会为你做。


推荐阅读