作者skyleona (多益爆了!)
看板Python
标题[问题] 回圈问题
时间Sun Feb 20 23:43:07 2022
大家好,最近刚学python有回圈问题想请教
用回圈方式去依序将年份及月份列出来,月份设定为1时,输出正常:
for year in range(2000,2020):
for month in range(1,13):
print(str(year) + '/' + str(month) )
但是如果输入区间,就会出错,ex:2018/6~2019/12,就2019年只会列出6月之後的月份
请各位大大解惑,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.200.12.80 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1645371789.A.BFB.html
※ 编辑: skyleona (1.200.12.80 台湾), 02/20/2022 23:45:53
1F:→ papple23g: for回圈会自动递增month变数 所以month=1和+=1都没有作 02/20 23:53
2F:→ papple23g: 用 可以拿掉 02/20 23:53
※ 编辑: skyleona (1.200.12.80 台湾), 02/21/2022 00:07:55
3F:→ skyleona: p大,我拿掉了,不过月份只要不是输入1就会出错 02/21 00:09
4F:推 s0914714: 不是出错 你试着单独使用range就知道为什麽 02/21 00:10
5F:→ a367560: 你没叫内圈产生6以前的数字 外圈到下一圈从头自然是6开始 02/21 00:49
6F:推 timsheu: 是你认定year叫做年跟month叫做月,但python并不知道 02/21 10:08
7F:→ timsheu: 它只认为是单纯的两个回圈,所以上下限是多少就是多少 02/21 10:09
8F:→ timsheu: 你把年改成0-10、月改成0-20,就应该看得出错在哪 02/21 10:10
9F:推 bdbddbdb: 输入6就等同for month in range(6,13),所以就只会出现6 02/24 22:30
10F:→ bdbddbdb: 月之後的。 02/24 22:30