2012-08-17 18 views
0
def all_gt(nums, n): 
    i = [] 
    for c in nums: 
     if c > n: 
      i += c 
    return i 

這是我使用的代碼,'i'應該以大於n的數字返回值。 但我的支架內沒有任何東西返回。例如,Python - 返回一個比另一個更大的值?

all_gt([1,2,3,4], 2) => [3,4]

任何人都知道如何解決? 謝謝

+2

通常的做法是用這樣的列表理解'i = [c for c in nums if c> n]' – 2012-08-17 03:45:57

回答

5

您聲明i列表,所以您需要append而不是添加。在地方追加的

  i += [c] 

def all_gt(nums, n): 
    i = [] 
    for c in nums: 
     if c > n: 
      i.append(c) ## <----- note this 
    return i 

或者,你可以這樣做。

+0

謝謝!它完美地工作。 – Kevvv 2012-08-17 03:32:45

1

超出您的返回語句,以便它不作爲循環的一部分執行。

相關問題