2015-09-04 35 views
0

我有一個字符串下面的代碼:內附加的數字串一個for循環

list_k = [23,5,2,5,76,34,32,12,43,6] 
for number in range((len(list_k)): 
    the_string="The number is " + str(number) 
    print the_string 

預期輸出:

The number is 23 
The number is 5 
The number is 2 
... 
The number is 43 
The number is 6 

我似乎無法弄清楚,爲什麼我沒有收到該輸出,當我不包括的範圍內,我得到一個錯誤類型

回答

2

我會用format

for num in list_k: 
    print('The number is {}'.format(num)) 

與您現有的代碼的問題是,如果你使用的是range(len(list_k))你迭代的指數,所以你需要指數走出從列表中的號碼與list_k[number]

for number in range((len(list_k)): 
    the_string="The number is " + str(list_k[number]) 
    print the_string 
+0

是的這個工程!非常感謝! – user2883071

0

這個錯誤在你的代碼是range((len(list_k))是從0到​​列表,以便將num在interate值0, 1, 2, 3, ..., len(list_k) -1,而不是list_k這應該工作的元素如預期

+0

是因爲'len(list_k)'是一個整數,它是列表中的項目數,範圍從0到那個數字? – user2883071

+0

@ user2883071是的,正確的 – gefei

0

for number in range(len(list_k)): 
    print "the number is %d" % number 
+0

您錯過了這個觀點:問題不是關於格式本身,而是關於適當地遍歷'list_k',所以它的值出現在輸出中。 – cfi

+0

那麼我測試它,它工作正常 – ronakshah725

+1

這會讓我感到驚訝。 '範圍內的數字(...)'迭代'0,1,2,3,...'。這個輸出如何與問題中的預期輸出相關聯? – cfi

1

最簡單的事情是:

list_k = [23,5,2,5,76,34,32,12,43,6] 
for number in list_k: 
    the_string="The number is " + str(number) 
    print the_string 

直接遍歷列表。