a2421480 发表于 2018-11-7 13:47:54

看代码

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)      求大神解释下这段代码

beijudezixuan 发表于 2018-11-7 14:35:25

def findStr(desStr, subStr):
    count = 0                #用来记subStr在desStr中出现的次数
    length = len(desStr)
    if subStr not in desStr: #如果desStr中找不到subStr,输出下面的内容               
      print('在目标字符串中未找到字符串!')
    else:#执行到else,代表在desStr中找到了subStr,那么需要计数
      for each1 in range(length-1): #从desStr的首位置,进行整个字符串的下标遍历      
            if desStr == subStr:#因为substr的长度为2,所以desStr中当前字符和下一个字符都与subStr相同的情况下,代表在这个位置subStr出现了一次,计数+1
                if desStr == subStr:
                  count += 1
                  
      print('子字符串在目标字符串中共出现 %d 次' % count)

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

a2421480 发表于 2018-11-7 16:56:36

beijudezixuan 发表于 2018-11-7 14:35
def findStr(desStr, subStr):
    count = 0                #用来记subStr在desStr中出现的次数
    le ...

length-1是什么 意思 。 为什么要把这当成each1的范围呢

beijudezixuan 发表于 2018-11-7 20:33:57

a2421480 发表于 2018-11-7 16:56
length-1是什么 意思 。 为什么要把这当成each1的范围呢

length是desStr字符串的长度
range(length-1)是从0,1,2,3....length-2
最后一次判断的位置是 each1=legnth-2这样each1+1就是length-1,就能判断完最后的两个字符的情况
页: [1]
查看完整版本: 看代码