Python程序检查二进制数中是否有K个连续的1?

首先我们将用户输入的字符串与1和0组合在一起,然后用1创建新的字符串,然后检查是否存在p个连续的1。如果存在,则显示找到,否则显示未找到。

示例

Binary number ::1111001111
Enter consecutive 1’s :3
Consecutive 1's is Found

算法

Step 1: input a string with the combination of 1’s, it’s stored in the variable X and 0’s and p is the consecutive 1’s in a binary number.
Step 2: form a new string of p 1’s.
   newstring=”1”*p
Step 3: check if there is p 1’s at any position.
   If newstring in X
      Display “FOUND”
   Else
      Display “NOT FOUND”
   End if

范例程式码

# To check if there is k consecutive 1's in a binary number 
def binaryno_ones(n,p):
   # form a new string of k 1's 
   newstr = "1"*p

   # if there is k 1's at any position 
   if newstr in n:
      print ("Consecutive 1's is Found")
   else:
      print (" Consecutive 1's is Not Found")

# driver code
n =input("Enter Binary number ::")
p = int(input("Enter consecutive 1's ::"))
binaryno_ones(n, p)

输出结果

Enter Binary number ::1111001111
Enter consecutive 1's ::3
Consecutive 1's is Found