关于python:如何在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?

本问题已经有最佳答案,请猛点这里访问。

问题:在给定范围(包括)内查找奇数。l为左范围,r为右范围。例如:

输入:

1
2
l=2
r=5

预期输出:

1
2
3
5

因为我已经用下面所示的一种方法完成了这个程序,

1
2
3
4
5
6
7
8
def findOddNumber(l,r):
for num in range(l,r):
    if(num%2!=0):
        print(num)
l=2
r=5
res=[]
findOddNumber(l,r)

我没有像上面那样在用户定义的函数中打印,而是希望将值返回给调用函数,我尝试了如下操作:

1
2
3
4
5
6
7
8
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)

输出:

1
3

预期输出:

1
2
3
5


您可以使用一个列表,而不是打印附加到列表。然后你把清单还给我

1
2
3
4
5
6
7
8
9
10
11
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)