亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過 for 循環返回函數的值在多次迭代中不起作用

通過 for 循環返回函數的值在多次迭代中不起作用

慕哥6287543 2023-08-22 17:17:28
我定義了以下函數:def test():    return 1一旦我在控制臺中輸入以下內容:test()我得到的期望值是 1 返回。但我希望 1 返回兩次,所以我在控制臺中輸入:values = [1,2]for i in values:    test()但我現在沒有得到任何輸出。為什么它不產生任何輸出,我該如何編輯它才能產生任何輸出?
查看完整描述

4 回答

?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

首先,您應該修復 for 循環。如果要指定 for 循環應運行的次數,應使用 range() 函數。

for x in range(2):
    test()

其次,返回值不會輸出值,除非您打印它,即print(test())



查看完整回答
反對 回復 2023-08-22
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

我不知道為什么它對你不起作用,但是當我在我的計算機上運行這段代碼時,一切都很好


def test():

    return 1


print("First case:")

print(test())


print("Second case:")

list = [1,2]

for i in list:

    print(test())  

輸出:


First case:

1

Second case:

1

1


查看完整回答
反對 回復 2023-08-22
?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

只需在 for 循環內的 test() 上打印,如下所示


for i in values:

    print(test())

現在輸出將是:


   1

   1


查看完整回答
反對 回復 2023-08-22
?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

實際上,您需要打印返回值才能將其顯示在控制臺中。嘗試這個:


values = [1, 2]

for i in values:

    print(test())

您可能會問為什么它在第一種情況下有效。我沒有確切的答案,但我可以給你一個線索。自動打印“最后一行代碼”的返回值。這不是正確/好的解釋。也許其他人可以幫忙解決這個問題。


順便說一句,這是編寫上述代碼的更好方法:


for i in range(2):

    print(test())


查看完整回答
反對 回復 2023-08-22
  • 4 回答
  • 0 關注
  • 215 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號