摆动的呆毛 发表于 2020-3-28 22:18:56

函数

本帖最后由 摆动的呆毛 于 2020-3-28 22:59 编辑

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)


for each1 in range(length-1):      
            if desStr == subStr:
                if desStr == subStr:
                  count += 1

这段代码看不懂{:10_266:}

geneguo 发表于 2020-3-28 23:23:21

主要是if嵌套了if,所以才要在range中减1
desStr = asdfg--> subStr = fg
当desStr = f 是第一层if逻辑的最大索引,如果不减1,那么each1最大为4,在第二层if逻辑中的desStr就会报错:IndexError: string index out of range
count 就是统计出现的次数
页: [1]
查看完整版本: 函数