如何检查输入的字符是否为数字,并希望在python中引发相同的错误?
class Error(Exception):
pass
class ValueTooSmallError(Error):
pass
class ValueTooLargeError(Error):
pass
class ValueError(Error):
pass
number = 10
while True:
try:
i_num = float(input("Enter a number: "))
if i_num < number:
raise ValueTooSmallError
elif i_num > number:
raise ValueTooLargeError
break
except ValueTooSmallError:
print("This value is too small, try again!")
print()
except ValueTooLargeError:
print("This value is too large, try again!")
print()
except ValueError: **`this error doesn't reflect`**
print("Input is not a number")
print()
print("Congratulations! You guessed it correctly.")
```
如果输入不是数字,则引发ValueError
。因此,添加另一个except语句来捕获ValueError
将捕获输入字符串不是正确浮点数的情况。
当您将给定的输入类型转换为float时,如果给定的输入不是数字,该语句将抛出错误。例如:float('a')给出以下错误"ValueError:无法将字符串转换为float: 'a'"。因此,您需要在代码中添加该异常。