在进行翻页功能时,opt接受input的数据后进行判断,会抛出ValueError
来源:1-11 实战:完成新闻管理系统的用户模块
qq_老高的心思你别猜_0
2020-05-10 11:20:22
opt = input("\n\t输入操作编号:")
if opt == "back":
break
elif opt == "prev" and page > 1:
page -= 1
elif opt == "next" and page < count_page:
page += 1
elif int(opt) >= 1 and int(opt) <= 10:
os.system("cls")
user_id=result[int(opt)-1][0]
__user_service.delete_by_id(user_id)
print("\n\t删除成功(3秒自动返回)")
time.sleep(3)
错误代码:
Traceback (most recent call last):
File "F:\Learn_python\newsmanage\app.py", line 122, in <module>
elif int(opt) >=1 and int(opt) <=10:
ValueError: invalid literal for int() with base 10: 'prev'
2回答
同学,你好。在第一页输入prev或者在最后一页输入next,下图位置中的elif条件是不成立的,因此会执行第三个elif的条件,输入的是字母,无法转换成int类型,因此会报错
同学可以使用try……except……捕获异常
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
qq_老高的心思你别猜_0
提问者
2020-05-10
在第一页输入prev,或者在最后一页输入next,就会抛出ValueError,怎么解决这个问题?
相似问题
回答 2
回答 2