|
1鱼币
python课后练习,第18讲,动动手的第二题要求是输入长度为2的子字符串查找,我想把它改成无论输入的子字符串长度为多少都可以查找,但无论输入什么count都等于0,新手入门很多还不太懂,求大佬解答
- def findstr(s,t):
- la=len(t)
- le=len(s)-l
- z=''
- count=0
- for each in range(0,le-la):
- for every in s[each:each+la]:
- z=z+every
- if z==t:
- count+=1
- print('字符串在目标字符串中共出现%d次'%count)
- s=input('请输入目标字符串:')
- t=input('请输入子字符串:')
- findstr(s,t)
复制代码
- le=len(s1)-l
- NameError: name 'l' is not defined
- 这是你报错的根源。是1并不是L。
- 能理解的话,整个代码这样会更严谨一些:
- def findstr(s1,t):
- la=len(t)
- le=len(s1)-1
-
- count=0
- index = 0
- while index <= le-la :
- z=''
- for every in s1[index:index+la]:
- z=z+every
- if z==t:
- count +=1
- index +=la
- else:
- index +=1
-
- print('字符串在目标字符串中共出现%d次'%count)
复制代码
|
|