📅  最后修改于: 2023-12-03 15:10:52.865000             🧑  作者: Mango
如果您需要在字符串中检查是否存在连续的1或0,可以通过以下几种方法实现。
使用正则表达式可以检查字符串中是否存在m个连续的1或0。以下是一个简单的程序示例:
import re
def check_string_for_consecutive_numbers(input_str, m, number):
# Input: input_str - 输入字符串, m - 连续数字的个数, number - 检查的数字(0或1)
pattern = number * m
match = re.search(pattern, input_str)
if match:
print("字符串中存在" + str(m) + "个连续的" + str(number) + "。")
else:
print("字符串中不存在" + str(m) + "个连续的" + str(number) + "。")
# 示例输入字符串
input_str = "0000111100001111000001111"
# 检查是否有4个连续的0
check_string_for_consecutive_numbers(input_str, 4, 0)
# 检查是否有3个连续的1
check_string_for_consecutive_numbers(input_str, 3, 1)
该程序将检查输入字符串中是否存在m个连续的数字number(0或1),并打印结果。
通过循环遍历字符串,可以遍历所有可能的m个连续数字组合,并检查它们是否与指定的数字匹配。以下是一个简单的程序示例:
def check_string_for_consecutive_numbers(input_str, m, number):
# Input: input_str - 输入字符串, m - 连续数字的个数, number - 检查的数字(0或1)
count = 0
for i in input_str:
# 如果i与要检查的数字相同,增加count,否则将count重置为0
if int(i) == number:
count += 1
else:
count = 0
# 如果count等于m,表示存在m个连续的数字number,返回True
if count == m:
return True
# 如果循环结束后未发现m个连续的数字number,返回False
return False
# 示例输入字符串
input_str = "0000111100001111000001111"
# 检查是否有4个连续的0
if check_string_for_consecutive_numbers(input_str, 4, 0):
print("字符串中存在4个连续的0。")
else:
print("字符串中不存在4个连续的0。")
# 检查是否有3个连续的1
if check_string_for_consecutive_numbers(input_str, 3, 1):
print("字符串中存在3个连续的1。")
else:
print("字符串中不存在3个连续的1。")
该程序将检查输入字符串中是否存在m个连续的数字number(0或1),并打印结果。
无论您使用哪种方法,以上两段程序都能解决这个问题。如果您需要在代码中使用正则表达式,可以使用Python的re模块。如果您想要更简单直观的代码,可以使用循环遍历字符串的方法。