今天又起雾了 发表于 2020-7-21 23:12:41

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)----------------
最后三行不明白,请大佬指点。

今天又起雾了 发表于 2020-7-21 23:13:26

%d 次' % count补充一下,为什么要这样呢,直接打count也能出来呀

Twilight6 发表于 2020-7-21 23:17:29




desStr = input('请输入目标字符串:')

desStr 的 input 接收并返回你输入的字符串,是指你要检索的原字符串

subStr = input('请输入子字符串(两个字符):')

subStr 的 input 接收你需要查找的子字符串,而且题意是只能输入两个字符

findStr(desStr, subStr)

这里就是调用你前面定义的 findStr(desStr, subStr) 函数了,此时将你前面两个 input 输入的字符串当作参数传入函数中,执行函数中的代码块




Twilight6 发表于 2020-7-21 23:19:49

今天又起雾了 发表于 2020-7-21 23:13
%d 次' % count补充一下,为什么要这样呢,直接打count也能出来呀


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

直接打印 count 时候你的打印结果就显示在 次 字后面了,而不是 次 字前面

如果你想打印次字前面又不想用 % 格式化,那么就要这么写了:

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

直接格式化就不需要多余的引号和逗号分隔了

今天又起雾了 发表于 2020-7-23 10:03:03

Twilight6 发表于 2020-7-21 23:19
直接打印 count 时候你的打印结果就显示在 次 字后面了,而不是 次 字前面

如果你想打印次字前 ...

谢谢大佬
页: [1]
查看完整版本: 18讲课后最后一题