蛇语十八讲习题2请求找茬
寻找子字符串(2个)在目标字符串中出现次数def findstr(target,son):
i = 0
count = 0
temp = list(target)
trans = list(son)
while i < len(temp):
if (temp==trans)and(temp==trans):
count += 1
i+=1
return count
target= input("请输入目标字符串:")
son = input("请输入子字符串(两个): ")
result = findstr(target,son)
print("子字符串在目标字符串中出现" + result +"次")
为啥出错了呢?
寻找子字符串(2个)在目标字符串中出现次数
def findstr(target,son):
i = 0
count = 0
temp = list(target)
trans = list(son)
while i < len(temp):
if (temp==trans)and(temp==trans):
count += 1
i+=1
return count
target= input("请输入目标字符串:")
son = input("请输入子字符串(两个): ")
result = findstr(target,son)
print("子字符串在目标字符串中出现" + result +"次")
@FishC
鱼C篮球 发表于 2023-12-14 16:56
寻找子字符串(2个)在目标字符串中出现次数
...
你的代码逻辑基本正确,不过存在一些小问题需要注意。首先,在判断子字符串是否出现时,你只比较了两个字符是否匹配,但实际上子字符串可能更长,所以应该比较整个子字符串是否匹配。其次,你的代码中缺少一个条件判断,用于判断是否已经遍历到了目标字符串的最后一个字符,如果是的话,就不应该再继续往后查找了。
另外,可以使用字符串的 count() 方法来简化你的代码,这个方法可以直接返回子字符串在目标字符串中出现的次数。
下面是修改后的代码:
def findstr(target, son):
count = target.count(son)
return count
target = input("请输入目标字符串:")
son = input("请输入子字符串(两个):")
result = findstr(target, son)
print("子字符串在目标字符串中出现" + str(result) + "次")
希望对你有帮助!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 你的问题:
1.return应该在while循环外
2.i += 1应该在IF代码块外
3.result是整数,不能与字符串相加
修改后的代码:
def findstr(target,son):
i = 0
count = 0
temp = list(target)
trans = list(son)
while i < len(temp):
if (temp==trans) and (temp==trans):
count += 1
i += 1
return count
target = input("请输入目标字符串:")
son = input("请输入子字符串(两个): ")
result = findstr(target,son)
print("子字符串在目标字符串中出现{}次".format(result))
页:
[1]