仿生人摸电子鱼 发表于 2021-1-17 21:02:47

子字符串在母字符串中出现的次数

这个程序,有两处看不懂555:
1.      for each1 in range(length-1):      
            if desStr == subStr:
                if desStr == subStr:
                  count += 1

这里for in range 看不懂,求大佬解析一下

2.print('子字符串在目标字符串中共出现 %d 次' % count)
这句也没看懂

3.另外我的课后作业动动手都是自己做不出来的,其他人都可以做出来吗,我哭泣了

def findStr(desStr, subStr):
    count = 0
    length = len(desStr)
    if subStr not in desStr:
      print('在目标字符串中未找到字符串!')
    else:
      for each1 in range(length-1):      
            if desStr == subStr:
                if desStr == subStr:
                  count += 1
                  
      print('子字符串在目标字符串中共出现 %d 次' % count)

desStr = input('请输入目标字符串:')
subStr = input('请输入子字符串(两个字符):')
findStr(desStr, subStr)

昨非 发表于 2021-1-17 21:06:25

def findStr(desStr, subStr):   
    count = 0
    length = len(desStr)
    if subStr not in desStr:
      print('在目标字符串中未找到字符串!')
    else: #这里的条件是字串在目标字符串里
      for each1 in range(length-1): #length为目标字符串的长度,减一刚好是目标串的索引范围
            #而for...in range(n)的语法中,...只是一个循环变量名字而已,叫i,j,k,each,什么都可以,它的取值是range函数规定的,0到n-1;
            # each1就是下面要用到的字符串索引值   
            if desStr == subStr:#这里只不过是比较目标串的各个字符有没有和字串第一个字符相同的,如果相同,进入下一层判断
                if desStr == subStr: #与字串第一个字符匹配后,移到后一位字符进行判断,索引值加一就是后移一位,没什么难理解的
                  count += 1 #前两个条件都满足了,计数出现次数加一
                  
      print('子字符串在目标字符串中共出现 %d 次' % count)

仿生人摸电子鱼 发表于 2021-1-17 21:11:28

昨非 发表于 2021-1-17 21:06


print('子字符串在目标字符串中共出现 %d 次' % count)

那这句嘞?

昨非 发表于 2021-1-17 21:13:37

至于print('子字符串在目标字符串中共出现 %d 次' % count)
这是print函数的一种输出形式
就是用%后面的变量来代替%前面格式串里的%d的位置而已
以后会经常用到

昨非 发表于 2021-1-17 21:15:51

详细的语法可以参考https://www.runoob.com/w3cnote/python3-print-func-b.html
页: [1]
查看完整版本: 子字符串在母字符串中出现的次数