大佬们,想问这个问题:
try:
n,x,y=input().split()
if int(y)<=int(n)*int(x):
raise ValueError("输入值不符合要求")
except ValueError as e:
print("引发异常:",repr(e))
使用条件判断,不满足时抛出异常。还可以使用断言:
>>> n, x, y = 3, 5, 7 # 满足条件,下面的断言不会抛出异常
>>> assert isinstance(n,int) and isinstance(x,int) and isinstance(y,int) and y<=n*x, '期望参数n,x,y是整数,且y不大于n和x的乘积'
>>> n, x, y = 3.0, 5, 7 # 浮点数,不满足条件,抛出异常
>>> assert isinstance(n,int) and isinstance(x,int) and isinstance(y,int) and y<=n*x, '期望参数n,x,y是整数,且y不大于n和x的乘积'
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
assert isinstance(n,int) and isinstance(x,int) and isinstance(y,int) and y<=n*x, '期望参数n,x,y是整数,且y不大于n和x的乘积'
AssertionError: 期望参数n,x,y是整数,且y不大于n和x的乘积
>>> n, x, y = 3, 5, 17 # y大于n和x的乘积,不满足条件,抛出异常
>>> assert isinstance(n,int) and isinstance(x,int) and isinstance(y,int) and y<=n*x, '期望参数n,x,y是整数,且y不大于n和x的乘积'
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
assert isinstance(n,int) and isinstance(x,int) and isinstance(y,int) and y<=n*x, '期望参数n,x,y是整数,且y不大于n和x的乘积'
AssertionError: 期望参数n,x,y是整数,且y不大于n和x的乘积
>>>