如何使用Python检查字符串是否由单个重复数字构成
Python实现单重复数字组成字符串的校验逻辑
参考实现代码
def repeatingDigits(digits): pattern = set(digits.lstrip("0")) print(pattern) if len(pattern) > 1: return (False) if len(pattern) == 1: return (True)
代码中print(pattern)为调试阶段的临时输出,正式环境可移除。
实现规则说明
- 该校验适配的判断标准:前导零不参与重复数字的统计,即只要去掉开头的连续0之后,剩余的内容是同一种数字的重复,就判定为符合要求
- 处理流程:先通过字符串方法
lstrip("0")移除输入字符串开头所有连续的0字符,再把剩余字符串转为集合自动完成去重 - 分支判断逻辑:
- 若去重后的集合长度大于1,说明剩余内容包含至少两种不同的数字,直接返回
False - 若去重后的集合长度等于1,说明剩余内容全部是同一种数字的重复,直接返回
True
- 若去重后的集合长度大于1,说明剩余内容包含至少两种不同的数字,直接返回
- 现有实现的边界问题:当输入为全0字符串(例如
"0000")时,移除所有0后会得到空字符串,对应的集合长度为0,两个判断分支均不触发,函数最终会返回None,如果需要兼容全0输入的场景,可补充对应分支,当集合长度为0时直接返回True
实际测试效果
- 传入参数
"0111":移除前导0后得到"111",去重后集合为{'1'},长度为1,函数返回结果为True - 传入参数
"0112":移除前导0后得到"112",去重后集合为{'1','2'},长度为2,函数返回结果为False
内容的提问来源于stack exchange,提问作者user15224025
相关产品推荐
相关产品推荐

