如图,代码差不多是这样,但是怎么让输入数字小于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的范围内,如果不在,则打印错误信息并退出程序;如果在,则继续执行后续操作。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!