实现isNum()函数,参数为一个字符串,如果这个字符串属于整数(十进制)、浮点数或复数的表示,返回True,否则返回False。
时间: 2023-06-18 07:05:39 浏览: 150
python通过自定义isnumber函数判断字符串是否为数字的方法
5星 · 资源好评率100%
可以使用Python内置的正则表达式模块re来实现。具体思路可以分为以下步骤:
1. 利用正则表达式匹配整数、浮点数和复数的表示形式。
2. 如果匹配成功,返回True,否则返回False。
下面是一个可能的实现代码:
```python
import re
def isNum(s):
# 匹配整数的表示形式
pattern_int = r'^[-+]?\d+$'
# 匹配浮点数的表示形式
pattern_float = r'^[-+]?\d+\.\d+$'
# 匹配复数的表示形式
pattern_complex = r'^[-+]?\d+[-+]\d+j$'
if re.match(pattern_int, s) or re.match(pattern_float, s) or re.match(pattern_complex, s):
return True
else:
return False
```
测试一下:
```python
print(isNum('123')) # True
print(isNum('-123')) # True
print(isNum('3.14')) # True
print(isNum('-3.14')) # True
print(isNum('1+2j')) # True
print(isNum('-1-2j')) # True
print(isNum('3.14+2.72j')) # True
print(isNum('abc')) # False
print(isNum('1.2.3')) # False
print(isNum('1.2j3')) # False
```
注意,这里的实现并不是完美的,比如它无法识别科学计数法表示的数字。如果需要支持更多的数字表示形式,可以按照上述思路进行扩展。
阅读全文