两个问题。想问下老师
# 定义变量reason
reason = [[3, 4, 5], [6, 7, 8], [9, 10, 11], [12, 1, 2]]
# 变量month接收input函数‘请输入1-12之间的月份’,并将输入的数值转化为int()类型
month = int(input("请输入您要查询季节的月份:"))
while True:
if not month.isdigit():
month = input("请输入数字1-12,重新输入:")
if not month.isdigit():
continue
# if判断month在嵌套的第一个列表里
month = int(month)
if month in reason[0]:
print('{0}月是春季'.format(month))
break
# elif判断month在嵌套的第二个列表里,并像控制台输出时夏季
elif month in reason[1]:
print('{0}月是夏季'.format(month))
break
# elif判断month在嵌套的第三个列表里,并像控制台输出时秋季
elif month in reason[2]:
print('{0}月是秋季'.format(month))
break
# elif判断month在嵌套的第四个列表里,并像控制台输出时冬季
elif month in reason[3]:
print('{0}月是冬季'.format(month))
break
1、在慕课运行会死循环,在pycharm上运行就没问题
2、输入非1-12内的数字会报错,怎么解决?
正在回答
同学,你好。
问题1:经测试,代码在Pycharm和在线编辑器中都会报错,如下图:
错误原因是:对输入的值提前进行了类型转换,致使isdigit()方法的调用者是int类型,而isdigit()是属于字符串类型的方法,你可按照如下图所示的方法进行修改,如下图:
问题2:对于问题2的判断逻辑是这样的,首先判断输入是否为数字,若是数字,且值大于12或者小于1,则提示“你输入的数字区间有误,请输入数字1-12,重新输入:”;若不是数字,则提示“请输入数字1-12,重新输入:”,具体参照如下代码:
如果我的回答解决了您的疑惑,请采纳!祝~学习愉快~
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星