2016-11-05 104 views
-2

您好想在循環之後返回值。我的代碼是 -Python中的循環返回值

def asd(): 
    data.append("a") 
    data.append("b") 
    for i in range(0,2): 
     value = data[i] 
     return value 

我期待在調用函數時返回a和b,但它只返回b。還有其他方法嗎?在此先感謝

+0

這樣,那麼'回答==(「A」 ,「b」)'應該是真的? – chepner

+0

否返回的值是answer =「b」。但我想要你如何陳述。 –

回答

1

除非你在做的事情這樣一個非常緊迫的原因,這個例子可以,如果我寫的`答案= ASD()`簡化爲

def asd(): 
    return 'a', 'b' 
+0

實際應用中幾乎肯定會有更多。我們要求人們發佈證明問題的最簡單的例子,不要因爲遺漏不必要的細節而懲罰他。 – Barmar

+0

克蒙人。你知道這不是他想要的;) –

+0

感謝您的快速回復。但它不好行爲過分。我有一個條件,即append在函數之外,但是我需要兩個值都是「循環」而不是一起打印。感謝你的支持。 –

1

這不是一個答案,但它會幫助你找到你的錯誤。

=是一個賦值操作符。在=後面提供的值被分配給它前面的變量,例如, a = 3意味着,現在攜帶價值3

現在,兩個簡單的問題

a=3 
a=5 
print a 

哪個值被打印?

同樣,

for i in range(100): 
    a = i 
print a 

什麼樣的價值被打印?

+0

你已經解釋了爲什麼他的程序不起作用。你打算給他提示如何去做他真正想要的東西嗎? – Barmar

+1

@Barmar:如果我知道他想要什麼,我當然可以給出一個提示。原則上'返回數據'就足夠了,但由於他沒有告訴我們添加了一個循環,循環應該做什麼,他需要爲自己找出解決方案。 – ImportanceOfBeingErnest