You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在输入有效月份数字后高效终止Python循环?

解决方法

要实现输入有效月份数字后干净终止循环,核心是在匹配到有效输入时使用break语句跳出while循环。同时可以通过列表映射简化冗余的if-elif判断,让代码更简洁易维护。

方法一:直接在有效分支添加break(新手友好)

修改后的代码如下:

while True:
    month_num = int(input("请输入月份数字: "))
    if month_num == 1:
        print("January")
        break
    elif month_num == 2:
        print("February")
        break
    elif month_num == 3:
        print("March")
        break
    elif month_num == 4:
        print("April")
        break
    elif month_num == 5:
        print("May")
        break
    elif month_num == 6:
        print("June")
        break
    elif month_num == 7:
        print("July")
        break
    elif month_num == 8:
        print("August")
        break
    elif month_num == 9:
        print("September")
        break
    elif month_num == 10:
        print("October")
        break
    elif month_num == 11:
        print("November")
        break
    elif month_num == 12:
        print("December")
        break
    else:
        print("请输入有效的数字(1-12)")

每次匹配到有效月份时,输出名称后执行break,直接终止循环,达到输入有效数字后退出的效果。

方法二:用列表简化代码(更高效的写法)

把月份名称存入列表,利用数字和索引的对应关系(列表索引从0开始,因此预留索引0为空字符串,让数字1-12直接对应索引1-12),大幅简化代码:

months = ["", "January", "February", "March", "April", "May", "June",
          "July", "August", "September", "October", "November", "December"]

while True:
    month_num = int(input("请输入月份数字: "))
    if 1 <= month_num <= 12:
        print(months[month_num])
        break  # 有效输入,终止循环
    else:
        print("请输入有效的数字(1-12)")

这种写法既解决了循环终止问题,又让代码结构更清晰,后续维护月份名称也只需修改列表即可。

内容的提问来源于stack exchange,提问作者saif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 14:25:19