如何在 Python3 中向调用函数返回更多值并显示结果,目前它只打印第一个值而不增加? [复制]
Posted
技术标签:
【中文标题】如何在 Python3 中向调用函数返回更多值并显示结果,目前它只打印第一个值而不增加? [复制]【英文标题】:How to return more values to the calling function in Python3 and display the result, currently it's printing only first value without increment? [duplicate] 【发布时间】:2019-06-19 05:33:24 【问题描述】:问题:查找给定范围(包括)内的奇数。 l
= 左侧范围,r
= 右侧范围。例如:
输入:
l=2
r=5
预期输出:
3
5
因为我已经用下面所示的一种方法完成了这个程序,
def findOddNumber(l,r):
for num in range(l,r):
if(num%2!=0):
print(num)
l=2
r=5
res=[]
findOddNumber(l,r)
我希望将值返回给调用函数,而不是像上面那样在用户定义的函数中打印,我试过这样:
def findOddNumber(l,r):
for num in range(l,r):
if(num%2!=0):
return num
l=2
r=5
res=findOddNumber(l,r)
print(res)
输出:
3
预期输出:
3
5
【问题讨论】:
您只能return
一次。您可以构建并返回一个序列(列表、元组......)或查看可以yield
多个值的生成器。
【参考方案1】:
您可以使用列表而不是打印只是附加到列表中。然后你返回列表
def findOddNumber(l,r):
res=[]
for num in range(l,r+1):
if(num%2!=0):
res.append(num)
return res
l=2
r=5
res=findOddNumber(l,r)
print(res)
【讨论】:
@Goutham Vijay 对不起,我的错。您应该将 range(l,r) 更改为 range(l,r+1) 因为范围中的最终值不包括在内 感谢您的帮助....这是缩进错误以上是关于如何在 Python3 中向调用函数返回更多值并显示结果,目前它只打印第一个值而不增加? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何执行带有承诺的函数并通过 API 调用多次检查其值并使用该值执行另一个函数?