|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目(老版作业18,动动手第2题):编写一个函数 findstr(),该函数统计一个长度为 2 的子字符串在另一个字符串中出现的次数。例如:假定输入的字符串为“You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted.”,子字符串为“im”,函数执行后打印“子字母串在目标字符串中共出现 3 次”。
我的代码:
a = input('请输入一个目标字符串:')
b = input('请输入子字符串:')
n = 0
list = []
length = len(a)
for i in range(1,length-1):
c = a[i:i+1]
list.append(c)
m = 0
while 0<=m<=length-1:
if b==list[m]:
n+=1
m+=1
print(n)
首先,错误在第六行,把range(1, length-1)改成range(length),
后来,我发现你的代码达不到你的目的,就是说没法统计一个长度为2的子字符串在另一个字符串出现的次数,所以我改了一下代码,如下:
- a = input('请输入一个目标字符串:')
- b = input('请输入子字符串:')
- n = 0
- list = []
- length = len(a)
- for i in range(length): # 这里应该改成range(length)
- c = a[i:i+1]
- list.append(c)
- m = 0
- while 0<=m<=length-1:
- if b[0]==list[m] and b[1] == list[m+1]:
- n+=1
- m+=1
- print(n)
复制代码
|
|