在进行翻页功能时,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回答

时间,

2020-05-11

同学,你好。在第一页输入prev或者在最后一页输入next,下图位置中的elif条件是不成立的,因此会执行第三个elif的条件,输入的是字母,无法转换成int类型,因此会报错

http://img.mukewang.com/climg/5eb8b55109c7e3d406000253.jpg

同学可以使用try……except……捕获异常

http://img.mukewang.com/climg/5eb8b6c609a234a306510343.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

0

qq_老高的心思你别猜_0

提问者

2020-05-10

在第一页输入prev,或者在最后一页输入next,就会抛出ValueError,怎么解决这个问题?

0

0 学习 · 2669 问题

查看课程