鱼C论坛

 找回密码
 立即注册
查看: 1619|回复: 5

[已解决]零基础学Python课后作业最后一个题

[复制链接]
发表于 2020-8-4 15:34:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
原题是:编写一个函数 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[i:i+1]:
                        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的字符串,如果更多的话这个方法不就不太方便了吗。
想请问下大佬我的代码是哪里有问题呢
最佳答案
2020-8-4 15:49:36
老司机。。 发表于 2020-8-4 15:47
我知道我错在哪了,切片最后一个是不加进去的,所以我从x中只切了一个出来{:10_284: ...

问题解决了就设置下最佳答案呗~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-4 15:38:13 | 显示全部楼层
这样试试:
def f3():
        sum=0
        x=input('请输入目标字符串:')
        y=input('请输入子字符串:')
        for i in range(0,len(x)-1):
                if y==x[i:i+2]:    # 修改
                        sum=sum+1
        return sum
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-4 15:47:33 | 显示全部楼层

我知道我错在哪了,切片最后一个是不加进去的,所以我从x中只切了一个出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-4 15:47:56 | 显示全部楼层
老司机。。 发表于 2020-8-4 15:47
我知道我错在哪了,切片最后一个是不加进去的,所以我从x中只切了一个出来{:10_284: ...

对,哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-4 15:49:36 | 显示全部楼层    本楼为最佳答案   
老司机。。 发表于 2020-8-4 15:47
我知道我错在哪了,切片最后一个是不加进去的,所以我从x中只切了一个出来{:10_284: ...

问题解决了就设置下最佳答案呗~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-4 15:52:05 | 显示全部楼层
zltzlt 发表于 2020-8-4 15:49
问题解决了就设置下最佳答案呗~

可以可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 09:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表