2 回答

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊
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,因?yàn)槟鷱男瞧谌臻_始,但您可以更改它。
也不需要調(diào)用str(i)inside print,它會(huì)為你做。

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
您的問題是您嘗試打印weekdays[7]時(shí)weekdays只有七個(gè)元素(即weekdays[0]to weekdays[6])。
有很多方法可以解決這個(gè)問題,但在這種情況下,最簡(jiǎn)單的就是最好的。
在您的循環(huán)中,使用weekdays[i % len(weekdays)]而不是weekdays[i].
模 (mod) 運(yùn)算符在除其參數(shù)時(shí)找到產(chǎn)生的余數(shù)。這會(huì)產(chǎn)生循環(huán)行為。
n | n % 3 |
--+-------+
0 | 0 | 0 = 0 * 3 + [0]
1 | 1 | 1 = 0 * 3 + [1]
2 | 2 | 2 = 0 * 3 + [2]
3 | 0 | 3 = 1 * 3 + [0]
4 | 1 | 4 = 1 * 3 + [1]
5 | 2 |
6 | 0 |
7 | 1 |
8 | 2 |
9 | 0 |
因此,當(dāng)您到達(dá)超過 長(zhǎng)度的some_list索引時(shí),索引i % len(some_list)將循環(huán)回 0 并讓您繼續(xù)前進(jìn)。
添加回答
舉報(bào)