[英]Why does the output keep returning a 'None' value at the last?
def range_test(start, end):
while start <= end:
print(start)
start+=1
print(range_test(1,5))
Output:
1
2
3
4
5
None
Process finished with exit code 0
您是說要打印 range_test 的range_test
,但您沒有返回任何值。
要解決此問題,只需刪除打印並運行range_test(1, 5)
。
最后的None
是range_test
返回的None
。 將其更改為:
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))
您沒有在代碼中定義return
值,因此默認情況下它返回 None。 調用print(func)
打印返回的值。 如果您執行以下任一操作,它將正常顯示:
def range_test(start, end):
while start <= end:
print(start)
start+=1
range_test(1,5)
def range_test(start, end):
range_list = []
while start <= end:
range_list.append(start)
start+=1
return "\n".join(range_list)
range_test(1,5)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.