18讲统计字符串,看不懂哪里有问题。。。
x = input('请输入目标字符串:')
y = input('请输入子字符串(两个字符):')
cs = 0
z = len(x)
if y not in x:
print('目标字符串中无')
else:
for each1 in range(cs-1):
if x == y:
if x == y:
cs += 1
print( cs )
shdih isnlnn is isssisnnnk isda
is 本帖最后由 jackz007 于 2022-10-11 22:26 编辑
最大的问题来自这一句
cs = 0
z = len(x)
. . . . . .
for each1 in range(cs - 1): # cs 显然应该是 z
这是我修改的代码
x = input('请输入目标字符串:')
y = input('请输入子字符串(两个字符):')
cs = 0
if y not in x:
print('目标字符串中无')
else:
each1 = 0
while each1 < len(x) - 1: # 因为 for 循环无法干预循环变量 each1,所以,应该用 while 循环
if x == y:
if x == y:
cs += 1
each1 += 1 # 为了跳过已经匹配的子串,这里需要为索引 each1 + 1,后面再加 1 就跳过 2 个字符了
each1 += 1
print(cs)
运行实况:
D:\\Python>python x.py
请输入目标字符串:shdih isnlnn is isssisnnnk isda
请输入子字符串(两个字符):is
5
D:\\Python> 这个CS的出现真的太粗心了{:10_250:},谢谢大佬指出,而且这个跳过已经匹配过的字符串中真的改进了好多,完美避免了需要匹配的两个字符是一个字母的情况,再次感谢{:10_256:}
x=input("请输入1个字符串:")
y=input("请输入2个字符:")
cs=0
if y not in x:
print("无")
else :
for each in range (len(x)-1):
if x==y and x==y:
cs+=1
print("%s个!"%cs)
页:
[1]