2017-06-24 454 views
0

下面循環的多重條件是代碼:蟒蛇在蟒蛇

for x in range(0, 7) + 100: 
    print x 

預期輸出:

0 
1 
2 
3 
4 
5 
6 
100 

請幫我把這個輸出。

下面是代碼的錯誤:

TypeError: can only concatenate list (not "int") to list 

回答

3

由於您使用Python 2,範圍創建列表。 要將號碼添加到列表的末尾,首先把它放在一個列表,那麼你可以使用加法運算:

for x in range(0, 7) + [100]: 

(在Python 3爲此,您需要將範圍轉換成一個列表,因爲它range(...)創建一個不同的數據類型):

for x in list(range(0, 7)) + [100]: 
+0

@idjaw不,我知道它會工作,但我只是測試它和它的工作如預期。 – micsthepick

+0

我剛看到python2.7標籤。對!在Python 2.7中'range'實際上創建了一個列表。這就是爲什麼這是有效的。在Python 3中,情況並非如此,因爲它繼承了Python 2中'xrange'的功能。在Python 3中執行此操作將導致:TypeError:不支持的操作數類型爲+:'range'和' list''。即使標籤聲明爲Python2.7,但考慮到未來的讀者可能很容易忽略它,這可能有助於提供答案中的某些細節。 – idjaw

+0

@idjaw當然,好主意。 – micsthepick