|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
如果按照这个代码就可以反回3:
def findStr(desStr,subStr):
if subStr not in desStr:
print('未找到子字符串!')
else:
a = desStr.count(subStr)
print(a)
desStr = input('请输入目标字符串:')
subStr = input('请输入需要查找的字符串:')
findStr(desStr,subStr)
desStr = You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted.
subStr = im
但是换成如下(将print()换为return)就无法反会3:
def findStr(desStr,subStr):
if subStr not in desStr:
print('未找到子字符串!')
else:
a = desStr.count(subStr)
return a
desStr = input('请输入目标字符串:')
subStr = input('请输入需要查找的字符串:')
findStr(desStr,subStr)
desStr = You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted.
subStr = im
请教一下各位前辈,这是什么原因?
本帖最后由 jackz007 于 2021-12-7 12:56 编辑
return 只是返回了一个数值,你不打印,如何能看得到?
所以,你得把此句
改成
- print(findStr(desStr,subStr))
复制代码
再有,就是函数 findStr() 不可以选择性(或有条件)返回值,就是说,不可以把 return 放到属于 if 的语句块中。
- def findStr(desStr,subStr):
- return desStr.count(subStr)
- desStr = input('请输入目标字符串:')
- subStr = input('请输入需要查找的字符串:')
- c = findStr(desStr,subStr))
- if c == 0:
- print('未找到子字符串!')
- else:
- print(c)
复制代码
这样,程序响应就和你之前的代码一致起来了。
|
|