为什么输出最后总是返回“ None”值?

问题描述 投票:1回答:1
def range_test(start, end):
    while start <= end:
        print(start)
        start+=1

print(range_test(1,5))

输出:

1
2
3
4
5
None

Process finished with exit code 0
python function range output nonetype
1个回答
2
投票

您是说要打印range_test的输出,但没有返回任何值。

要解决此问题,只需除去打印件并运行range_test(1, 5)


0
投票

末尾的NoneNone返回的range_test。更改为:

def range_test(start, end):
    while start <= end:
        print(start)
        start+=1

range_test(1,5)  # this function already prints, no need to print its return

或者如果您希望range_test返回可以打印的内容(而不是自己打印而不返回任何内容,请执行:]]

def range_test(start, end):
    to_print = ""
    while start <= end:
        to_print += f"{start}\n"
        start+=1
    return to_print

print(range_test(1,5))

0
投票

您没有在代码中定义return值,因此默认情况下它返回None。调用print(func)将打印返回的值。如果您执行以下任一操作,它将正常显示:

© www.soinside.com 2019 - 2024. All rights reserved.