亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python循環列表(顯示工作日的總30天)

python循環列表(顯示工作日的總30天)

慕絲7291255 2022-06-02 15:30:33
list = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]我想顯示工作日的總 30 天,有人可以告訴我如何在 for 或 while 循環中做到這一點嗎?謝謝我想要的輸出是:day 0 : Sunday 1 : Monday 2 : Tueday 3 : Wedday 4 : Thuday 5 : Friday 6 : Satday 7 : Sunday 8 : Monday 9 : Tueday 10 : Wedday 11 : Thuday 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
查看完整描述

2 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

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,它會為你做。


查看完整回答
反對 回復 2022-06-02
?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

您的問題是您嘗試打印weekdays[7]時weekdays只有七個元素(即weekdays[0]to weekdays[6])。


有很多方法可以解決這個問題,但在這種情況下,最簡單的就是最好的。


在您的循環中,使用weekdays[i % len(weekdays)]而不是weekdays[i].


模 (mod) 運算符在除其參數時找到產生的余數。這會產生循環行為。


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   |

因此,當您到達超過 長度的some_list索引時,索引i % len(some_list)將循環回 0 并讓您繼續前進。


查看完整回答
反對 回復 2022-06-02
  • 2 回答
  • 0 關注
  • 194 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號