jzz1314520 发表于 2020-8-26 22:56:30

关于课后作业18讲的问题

编写函数如下:
def findstr():
    a = input('请输入目标字符串:\n')
    b = input('请输入子字符串(两个字符): ')
    print(a)
    print(b)
    counts = a.count(b)
    print(f'子字符串在目标字符串中共出现 {counts} 次')

然后直接调用:
findstr()

然后出现的问题如图:


目标字符串在我输入后,执行过程中,重复出现了一次,请问这是什么原因造成的?

昨非 发表于 2020-8-26 22:58:43

3次不对吗???

昨非 发表于 2020-8-26 23:00:09

time里也有一个啊

1q23w31 发表于 2020-8-26 23:01:01

def findstr():
    a = input('请输入目标字符串:\n')
    b = input('请输入子字符串(两个字符): ')
    counts = a.count(b)
    print(f'子字符串在目标字符串中共出现 {counts} 次')
findstr()

因为你获取到字符串后,又打印了一遍

昨非 发表于 2020-8-26 23:10:22

也就是你的第四第五行分别打印了一次a和b

Twilight6 发表于 2020-8-27 09:24:30


并没有重复出现,第一次是因为你输入的内容,第二次是你 print(a) ,打印出你输出的内容了

把 print(a) 和 print(b) 都去掉,就能大致达到你的目的了吧:

def findstr():
    a = input('请输入目标字符串:\n')
    b = input('请输入子字符串(两个字符): ')
    counts = a.count(b)
    print(f'子字符串在目标字符串中共出现 {counts} 次')
findstr()

jzz1314520 发表于 2020-8-27 17:54:29

多谢各位的解答,新手总是犯一些常识性的问题{:10_266:}

W1ND123 发表于 2021-9-21 10:01:43

jzz1314520 发表于 2020-8-27 17:54
多谢各位的解答,新手总是犯一些常识性的问题

你已经做得不错了,新手总是记不起一些好用的函数555555
页: [1]
查看完整版本: 关于课后作业18讲的问题