给出字符串。字符串仅包含数字。我们的任务是检查所有可能的有效IP地址组合。
在这里,我们首先检查字符串的长度,然后除以“。”。然后,我们检查“。”的不同组合。
Input : "255011123222" It's not a valid IP address. Input : 255011345890 Valid IP address is 255.011.123.222
Step 1: First check the length of the string. Step 2: Split the string by ".". We will place 3 dots in the given string. W, X, Y, and Z are numbers from 0-255 the numbers cannot be 0 prefixed unless they are 0. Step 3: Generating different combinations. Step 4: Check for the validity of combination.
# Python code to check valid possible IP
# Function checks wheather IP digits
# are valid or not.
def ipvalid(ip):
# Spliting by "."
ip = ip.split(".")
# Checking for the corner cases
for i in ip:
if len(i) > 3 or int(i) < 0 or int(i) > 255:
return False
if len(i) > 1 and int(i) == 0:
return False
if len(i) > 1 and int(i) != 0 and i[0] == '0':
return False
return True
# Function converts string to IP address
def ipconvert(A):
con = len(A)
# Check for string size
if con > 12:
return []
newip = A
l = []
# Generating different combinations.
for i in range(1, con - 2):
for j in range(i + 1, con - 1):
for k in range(j + 1, con):
newip = newip[:k] + "." + newip[k:]
newip = newip[:j] + "." + newip[j:]
newip = newip[:i] + "." + newip[i:]
# Check for the validity of combination
if ipvalid(newip):
l.append(newip)
newip = A
return l
# Driver code
A = input("Enter IP address")
print(ipconvert(A))输出结果
Enter IP address25525522134 ['255.255.22.134', '255.255.221.34']