鱼C论坛

 找回密码
 立即注册
查看: 2204|回复: 3

[已解决]为什么后面会出现 none

[复制链接]
发表于 2020-12-18 21:09:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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

最佳答案
2020-12-18 21:19:50
去掉最外层的print
搞不懂你为啥要去打印函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-18 21:19:50 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
去掉最外层的print
搞不懂你为啥要去打印函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-18 21:30:23 | 显示全部楼层
findstr函数没有返回值
所以打印结果为none
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-18 21:33:06 | 显示全部楼层
首先你要知道的是任何一个函数都是有返回值的,如果我们不指定返回值那么默认的返回值就是None
你如果单纯的想要执行函数那么只需要
findstr()
这么做就行了。这样函数就会执行了。
但是print()就不一样了。print()是打印数据。如果print()里面你写的是函数名 + () 那么意思就是打印这个函数的返回值。你的函数没有指定返回值所以返回值是None 打印的结果当然也是None
print(findstr())    # 会在执行完函数里面的所有代码以后 在输出一个None
print(findstr)      # 输出结果是函数的内存地址(指针都行)但是不执行函数体代码
findstr()            # 只有这样才是执行函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 00:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表