题目描述
输入两个字符串,验证其中一个串是否为另一个串的子串。
输入两个字符串, 每个字符串占一行,长度不超过200且不含空格。
输出
若第一个串s1是第二个串s2的子串,则输出(s1) is substring of(s2)否则,若第二个串s2是第一个串s1的子串,输出(s2) is substring of (s1) 否则,输出 No substring。
样例输入1
abc
dddncabca
样例输出1
abc is substring of dddncabca
来源/分类
完整代码如下:
a=input()
b=input()
c=[]
d=[]
if len(a)>=len(b):
for i in range(0,len(a)+1):
for j in range(0,len(a)+1):
if str(a)[i:j]==b:
c.append(1)
if len(c)!=0:
print(b,"is substring of",a)
else:
print("No substring")
else:
for m in range(0,len(b)+1):
for n in range(0,len(b)+1):
if str(b)[m:n]==a:
d.append(1)
if len(d)!=0:
print(a,"is substring of",b)
else:
print("No substring")
代码解释:
“a=input()
b=input()
c=[]
d=[] ”,让用户输入两个字符串a,b。然后建立两个空列表c,d。
“if len(a)>=len(b):
for i in range(0,len(a)+1):
for j in range(0,len(a)+1):
if str(a)[i:j]==b:
c.append(1)
if len(c)!=0:
print(b,"is substring of",a)
else:
print("No substring") ”,判断字符串a长度是否大于字符串b。如果是,则将字符串a转换为列表,遍历该列表,查找能截取到与字符串b相同的部分,如果存在,则依次将1其存入列表c中。循环结束后,查找列表c中是否为空(即判断列表中是否存在1个以上的1),如果不为空,则输出b是a的子字符串(b,"is substring of",a);如果为空,则输出"No substring"。
“else:
for m in range(0,len(b)+1):
for n in range(0,len(b)+1):
if str(b)[m:n]==a:
d.append(1)
if len(d)!=0:
print(a,"is substring of",b)
else:
print("No substring") ”,如果不是,则将字符串b转换为列表,遍历该列表,查找能截取到与字符串a相同的部分,如果存在,则依次将1其存入列表d中。循环结束后,查找列表d中是否为空(即判断列表中是否存在1个以上的1),如果不为空,则输出a是b的子字符串(a,"is substring of",b);如果为空,则输出"No substring"。
运行效果展示:
(声明:以上内容均为原创)