一、场景
随机给定一组数字,判断其中是否存在 123、456、666、135、246等有规律的数字
[三个数字相连、三数字相同、彼此等差]
二、解题思路
- 根据数据重复度,是否等差等进行各种算法进行相关,判断代码量较大,对一般小白不友好
- 本人思路:利用
jieba
分词的自定义分词字典,分词后判断长度是否大于1,如果大于1则进说明有规律,等于1则表示没有。缺点:仅适用纯数字、效率可能不高;优点:代码少,开发快
三、应用示例
from copy import deepcopy
import jieba
test_words = "12123437823977238"
jieba.load_userdict("dict_words.txt")
words = jieba.cut(test_sent)
s = list(words)
a = deepcopy(s)
if len(a) > 1:
print(f"存在规律数字 { test_words }")
else:
print(f"不存在规律数字 { test_words }")
dict_words.txt
文本内容
0123
3210
1234
4321
2345
5432
3456
6543
4567
7654
5678
8765
6789
9876
0000
1111
2222
3333
4444
5555
6666
7777
8888
9999
2468
1357