首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ValueError异常

ValueError异常
EN

Stack Overflow用户
提问于 2021-12-09 02:54:54
回答 2查看 1K关注 0票数 0

我试图解决的问题似乎很简单:接受两个整数输入,user_num和div_num,然后使用try/except块捕获异常。语言是python

对于除法为零,输出如下:零除异常:整数除法或模零

假设输入user_num=15.5和div_num=5,对于ValueError,输出如下:输入异常:带有基10的无效文本int():'15.5'

这个问题也给了我们这个问题:注意:当除以零发生时,抛出ZeroDivisionError。当用户输入与程序中定义的值不同的数据类型时,会引发ValueError。不要包含在程序中抛出任何异常的代码。

零的计算和除数按预期工作,但我的ValueError异常不起作用。我理解错误(我定义了一个整数,但给了它一个浮点数),但是我很难理解如何让程序做我需要它做的事情。以下是我所拥有的:

代码语言:javascript
运行
复制
user_num=int(input())
div_num=int(input())

try:
    print(int(user_num/div_num))
except ZeroDivisionError:
    print("Zero Division Exception: integer division or modulo by zero")
except ValueError:
    print("Input Exception: invalid literal for int() with base 10:", user_num)

我得到的错误是:

代码语言:javascript
运行
复制
Traceback (most recent call last):
  File "main.py", line 1, in <module>
    user_num=int(input())
ValueError: invalid literal for int() with base 10: '15.5'

如果能帮助ValueError异常正常工作,我们将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2022-04-04 17:11:04

对于任何遇到这种情况的人来说,这就是我努力工作的地方。错误是因为初始值(int(int(),在第一次输入值时没有任何错误处理。下面是我发现的工作和处理任何我遇到的东西。它首先尝试将字符串转换为ints。如果它不能,那就是它将抛出错误,而不是在一开始。我相信它可能会更干净一些,但我对编程还是相当陌生的。

代码语言:javascript
运行
复制
user_num=input()
div_num=input()
try:
    print('{:.0f}'.format(int(user_num)/int(div_num)))
except ZeroDivisionError:
    print("Zero Division Exception: integer division or modulo by zero")
except ValueError:
    pass
try: int(div_num)
except ValueError:
    print("Input Exception: invalid literal for int() with base 10:"+" 
'"+str(div_num)+"'")
try: int(user_num)
except ValueError:
    print("Input Exception: invalid literal for int() with base 10:"+" 
'"+str(user_num)+"'")
票数 0
EN

Stack Overflow用户

发布于 2022-09-27 21:48:21

我把这个做好了:

代码语言:javascript
运行
复制
try:
    user_num = int(input())
    div_num = int(input())
    print(user_num // div_num)
except ZeroDivisionError:
    print('Zero Division Exception: integer division or modulo by zero')
except ValueError as excpt:
    print('Input Exception: '+str(excpt))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70284195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档