Acrana 发表于 2020-4-4 00:14:58

第18课 最后一题

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)
看不懂 else 后面写了什么求求大佬们解释解释

sunrise085 发表于 2020-4-4 01:08:32

就是遍历desStr,统计有多少个subStr

假如desStr='it is you sister'   subStr='is'
第一次执行for循环,each1=0,desStr是'i',符合第一个if条件,然后判断第二个if条件,desStr是‘t’,不符合条件,执行下一次循环
第二次执行for循环,each1=1,desStr是't',不符合第一个if条件,执行下一次循环
第三次执行for循环,each1=2,desStr是' '(空格),不符合第一个if条件,执行下一次循环
第四次执行for循环,each1=3,desStr是'i',符合第一个if条件,然后判断第二个if条件,desStr是‘s’,符合条件,计数count+1,执行下一次循环
……
遍历结束后count就是subStr出现的次数

kylin121380 发表于 2020-4-4 10:32:49

for each1 in range(length-1):   #子字符串为两个字符,因此循环length - 1次
if desStr == subStr:#目标字符串中出现子字符串的第一个字符
if desStr == subStr:#目标字符串中出现子字符串的第一个字符 后的下一个字符与子字符串的第二个字符相同—>找到子字符串,count+=1,之后不断循环前进
count += 1
页: [1]
查看完整版本: 第18课 最后一题