159328404 发表于 2020-9-20 16:55:43

018作业:findstr函数



def findstr(str1,str2):
    count = 0
    length = len(str1)
    if str2 not in str1:
      print('目标字符串中没有子字符串!')
    else:
      for each1 in str1:
            if each1 == str2:
                if each1+1 == str2:
                  count += 1
    print('子字符串在目标字符串共出现' + str(count) + '次')

str1 = input('请输入目标字符串:')
str2 = input('请输入子字符串:')
findstr(str1,str2)


这段代码里有哪些问题呢?

疾风怪盗 发表于 2020-9-20 17:02:47

if each1+1 == str2:
这句话是什么意思?
你的each不是range,是每个字母,这句话不对啊

Datura 发表于 2020-9-20 17:21:17

本帖最后由 Datura 于 2020-9-20 17:25 编辑

def findstr(str1,str2):
    print("共出现 " + str(str1.count(str2,0,len(str1))) + " 次")

str1 = input("请输入目标字符串:")
str2 = input("请输入子字符:")

findstr(str1,str2)
   

kylin121380 发表于 2020-9-20 19:32:50

for each1 in str1 each1是字符串中的字母,each1+1无意义
def findstr(str1,str2):
    count = 0
    length = len(str1)
    if str2 not in str1:
      print('目标字符串中没有子字符串!')
    else:
      for each in range(length):
            if str1 == str2:
                if str1 == str2:
                  count += 1
    print('子字符串在目标字符串共出现' + str(count) + '次')

str1 = input('请输入目标字符串:')
str2 = input('请输入子字符串:')
findstr(str1,str2)

159328404 发表于 2020-9-21 11:35:52

本帖最后由 159328404 于 2020-9-21 11:43 编辑

kylin121380 发表于 2020-9-20 19:32
for each1 in str1 each1是字符串中的字母,each1+1无意义

kylin121380 发表于 2020-9-21 11:42:30

159328404 发表于 2020-9-21 11:35
那应该怎么写呢

代码不是发了吗{:10_277:}

159328404 发表于 2020-9-21 11:44:17

kylin121380 发表于 2020-9-21 11:42
代码不是发了吗

哈哈哈哈对不起没看清{:5_108:}
页: [1]
查看完整版本: 018作业:findstr函数