怎么用if语句在Python检索月份简写里面框范围

img

如图,代码差不多是这样,但是怎么让输入数字小于1和大于12的时候报错呢?现在这个代码输入0这类数字就是出现“.”但不报错
我自己想的是用if语句来写范围,但是if 1<= number<=12这样又直接不运行而且在后方出现一条红杠

n= int(input("请输入月份代表的数字:"))
if n < 1 or n > 12:
    print("输入的月份有误,请重新输入")

#其他代码

if Not(1<n<12):
...

该回答引用GPTᴼᴾᴱᴺᴬᴵ
你可以在if语句之前添加一个判断,判断输入的数字是否在1到12的范围内,如果不在范围内就报错。代码示例如下:

month_dict = {
    "Jan": 1,
    "Feb": 2,
    "Mar": 3,
    "Apr": 4,
    "May": 5,
    "Jun": 6,
    "Jul": 7,
    "Aug": 8,
    "Sep": 9,
    "Oct": 10,
    "Nov": 11,
    "Dec": 12
}

number = int(input("请输入月份(数字或缩写):"))

if number < 1 or number > 12:
    print("输入的数字不在1到12之间,请重新输入")
else:
    if 1 <= number <= 12:
        print("月份为:", number)
    else:
        print("输入有误")

for key, value in month_dict.items():
    if number == value:
        print("月份简写为:", key)
        break
else:
    print("未找到该月份的简写")

其中,第3行的判断语句用来判断输入的数字是否在1到12的范围内,如果不在,则打印错误信息并退出程序;如果在,则继续执行后续操作。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632