为什么后面会出现 none
def findstr():str1 = input('请输入目标字符串:')
str2 = input('请输入子字符串(两个字符串):')
if str2 in str1:
count1 = str1.count(str2)
print('子字符在目标字符中共出现',count1,'次')
else:
print('请重新输入子字符串:')
print(findstr())
结果是:
"C:\Program Files\Python39\python.exe" C:/Users/Administrator/PycharmProjects/pythonProject2/测试.py
请输入目标字符串:fish
请输入子字符串(两个字符串):is
子字符在目标字符中共出现 1 次
None
Process finished with exit code 0
去掉最外层的print
搞不懂你为啥要去打印函数 findstr函数没有返回值
所以打印结果为none
首先你要知道的是任何一个函数都是有返回值的,如果我们不指定返回值那么默认的返回值就是None
你如果单纯的想要执行函数那么只需要
findstr()
这么做就行了。这样函数就会执行了。
但是print()就不一样了。print()是打印数据。如果print()里面你写的是函数名 + () 那么意思就是打印这个函数的返回值。你的函数没有指定返回值所以返回值是None 打印的结果当然也是None
print(findstr()) # 会在执行完函数里面的所有代码以后 在输出一个None
print(findstr) # 输出结果是函数的内存地址(指针都行)但是不执行函数体代码
findstr() # 只有这样才是执行函数
页:
[1]