零基础学Python课后作业最后一个题
原题是:编写一个函数 findstr(),该函数统计一个长度为 2 的子字符串在另一个字符串中出现的次数。例如:假定输入的字符串为“You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted.”,子字符串为“im”,函数执行后打印“子字母串在目标字符串中共出现 3 次”。我开始自己写的代码是这样的,我的思路是直接把x切片为2长度的片从头开始与y比较:
def f3():
sum=0
x=input('请输入目标字符串:')
y=input('请输入子字符串:')
for i in range(0,len(x)-1):
if y==x:
sum=sum+1
return sum
然后运行出来,结果是错误的
>>> f3()
请输入目标字符串:you cannot improve your past,but you can improve your future.once time is wasted,life is wasted.
请输入子字符串:im
0
然后看到答案后,发现是直接直接一个一个比较两个序列中的值,但是如果要是没有题目要求的是长度为2的字符串,如果更多的话这个方法不就不太方便了吗。{:9_241:}
想请问下大佬我的代码是哪里有问题呢{:9_219:} {:9_219:}
这样试试:
def f3():
sum=0
x=input('请输入目标字符串:')
y=input('请输入子字符串:')
for i in range(0,len(x)-1):
if y==x: # 修改
sum=sum+1
return sum zltzlt 发表于 2020-8-4 15:38
这样试试:
{:10_266:}{:10_266:}我知道我错在哪了,切片最后一个是不加进去的,所以我从x中只切了一个出来{:10_284:} 老司机。。 发表于 2020-8-4 15:47
我知道我错在哪了,切片最后一个是不加进去的,所以我从x中只切了一个出来{:10_284: ...
对,哈哈 老司机。。 发表于 2020-8-4 15:47
我知道我错在哪了,切片最后一个是不加进去的,所以我从x中只切了一个出来{:10_284: ...
问题解决了就设置下最佳答案呗~{:10_297:} zltzlt 发表于 2020-8-4 15:49
问题解决了就设置下最佳答案呗~
可以可以{:5_109:}
页:
[1]