python - 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
解决方案
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
,它会为你做。
推荐阅读
- javascript - Why doesn't the link generate where indicates
- python - 列表推导中的 if 和 else 有问题。如果列表为空,我需要将列表值设为某个值
- sql - 嵌套查询未从 Oracle 11g 中的主查询中获取 Oracle 中的值
- android - Firebase 存储 getDownloadUrl() 方法无法解析
- html - 如何添加 Powered by: 在横幅广告上?
- json - Flutter JSON String/Int 命令
- c - printf 打印错误的特殊字符
- java - 如何将文件分成几部分并分配它(多字部分)?
- google-cloud-speech - Google Speech to text 的超时问题
- java - Java 10 上的 Groovy 3(模块信息)