在Python 3中,判断输入是否为数字可以通过以下几种方法实现:
1. 使用`isdigit()`方法:
```python
input_str = input("请输入一个数字:")
if input_str.isdigit():
print("输入的是数字")
else:
print("输入的不是数字")
`isdigit()`方法会检查字符串中的所有字符是否都是数字字符。
2. 使用`isnumeric()`方法:
```python
input_str = input("请输入一个数字:")
if input_str.isnumeric():
print("输入的是数字")
else:
print("输入的不是数字")
`isnumeric()`方法会检查字符串中的所有字符是否都是数字字符,包括Unicode数字字符。
3. 使用异常处理:
```python
try:
input_str = input("请输入一个数字:")
float_input = float(input_str)
print("输入的是数字")
except ValueError:
print("输入的不是数字")
使用异常处理可以捕获尝试将字符串转换为浮点数时可能发生的`ValueError`异常。
4. 自定义函数`is_number()`:
```python
def is_number(s):
try:
float(s)
return True
except ValueError:
pass
try:
import unicodedata
unicodedata.numeric(s)
return True
except (TypeError, ValueError):
pass
return False
input_str = input("请输入一个数字:")
if is_number(input_str):
print("输入的是数字")
else:
print("输入的不是数字")
自定义函数`is_number()`尝试将字符串转换为浮点数,如果成功则返回`True`,否则尝试使用`unicodedata.numeric()`检查是否为Unicode数字字符,如果都不成功则返回`False`。
以上方法可以帮助你判断用户输入是否为数字。