a382418718 发表于 2020-5-26 22:04:52

提问

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)

文字的desStr 与subStr是什么意思,表示列表吗
为什么要执行 for each1 in range(length-1):这个循环

wuqramy 发表于 2020-5-26 22:10:25

本帖最后由 wuqramy 于 2020-5-26 22:11 编辑

1.这只是个单纯的字符串索引
分别取desStr的第each1个字符和subStr的开头字符
2.循环就是在找这个目标字符串出现了几次

Twilight6 发表于 2020-5-26 22:11:32

文字的desStr 与subStr是什么意思
是字符串的索引,因为你 desStr 是接受input输入的 是字符串而不是列表 for 循环遍历 字符串 desStr 的长度

所以写成 desStr 实际上就是每次for循环都遍历个 desStr 字符串的一个字符 ;subStr 也是接受input输入的,所以也是字符串的索引操作
为什么要执行 for each1 in range(length-1):
为了遍历 desStr 字符串,然后用来判断与subStr 是否有相同的字符,如果有就继续判断下一个字符是否相等,简单来说for就是为了遍历目标字符串内是否含有子字符串
页: [1]
查看完整版本: 提问