我试图解决的问题似乎很简单:接受两个整数输入,user_num和div_num,然后使用try/except块捕获异常。语言是python。
对于除法为零,输出如下:零除异常:整数除法或模零
假设输入user_num=15.5和div_num=5,对于ValueError,输出如下:输入异常:带有基10的无效文本int():'15.5'
这个问题也给了我们这个问题:注意:当除以零发生时,抛出ZeroDivisionError。当用户输入与程序中定义的值不同的数据类型时,会引发ValueError。不要包含在程序中抛出任何异常的代码。
零的计算和除数按预期工作,但我的ValueError异常不起作用。我理解错误(我定义了一个整数,但给了它一个浮点数),但是我很难理解如何让程序做我需要它做的事情。以下是我所拥有的:
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)我得到的错误是:
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异常正常工作,我们将不胜感激。
发布于 2022-04-04 17:11:04
对于任何遇到这种情况的人来说,这就是我努力工作的地方。错误是因为初始值(int(int(),在第一次输入值时没有任何错误处理。下面是我发现的工作和处理任何我遇到的东西。它首先尝试将字符串转换为ints。如果它不能,那就是它将抛出错误,而不是在一开始。我相信它可能会更干净一些,但我对编程还是相当陌生的。
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)+"'")发布于 2022-09-27 21:48:21
我把这个做好了:
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))https://stackoverflow.com/questions/70284195
复制相似问题