|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1、def findstr():
a = input('请输入字符串:')
b = input('请输入字符:')
t = a.count(b)
print('出现',t,'次')
结果是 findstr()
请输入字符串:我我我
请输入字符:我
出现 3 次
2、def findStr(desStr, subStr):
count = 0
length = len(desStr)
if subStr not in desStr:
print('在目标字符串中未找到字符串!')
else:
for each1 in range(length-1):
if desStr[each1] == subStr[0]:
if desStr[each1+1] == subStr[1]:
count += 1
print('子字符串在目标字符串中共出现 %d 次' % count)
desStr = input('请输入目标字符串:')
subStr = input('请输入子字符串(两个字符):')
findStr(desStr, subStr)
结果是
请输入目标字符串:喜欢 喜欢 不喜欢
请输入子字符串(两个字符):喜欢
子字符串在目标字符串中共出现 3 次
问题一, 1 、 2 两个函数run的结果类型是一样的(额,我是这么认为的),我想请问到底有没有什么不同呢(比如,在实际操作中,会不会出现一些问题.......),或许我的代码(第一个)比较肤浅......
问题二,不懂第二段代码(小甲鱼老师的)中的count(红色字体)和 那段print中 % count 有什么含义。
请大佬解答
对于你测试的实例而言没有区别,对于一般性的字符串查找或者模式匹配而言,使用字符串内置的count()效率更高,代码更简洁。因为代码二只是作为一个例子而讲解的,只能查找两个字符的,实际上效率很低,如果要查找3个字符就要n^3的时间复杂度,代码也会变长。
|
|