2015-12-21 232 views
0

我嘗試使用Python 3遍歷一些數字。爲此,我考慮將數字轉換爲字符串。簡化版本是在這裏:Python類型鑄造

def printValue(num): 
    value = str(num) 
    for i in len(value): 
     print(value[i]) 
    return; 

不過,雖然我得到的信息是int是不是迭代:

Traceback (most recent call last):                                                 
    File "main.py", line 9, in <module>                                                
    print(printValue(12112121))                                              
    File "main.py", line 5, in printValue 
    for i in len(value):                                                   
TypeError: 'int' object is not iterable 

我該怎麼辦錯了嗎?

+1

Python沒有類型轉換(這是告訴編譯器將一種類型的值視爲另一種類型的過程)。 'str(num)'創造了一個全新的價值。 – chepner

回答

6

len返回一個整數,並且您不能迭代整數。

如果要遍歷整數範圍從0到len(value),請使用range

for i in range(len(value)): 

雖然在這種情況下,你並不真正需要的指數,所以你可能也只是直接遍歷字符串的字符。

for c in value: 
+0

我想由於某種原因分別得到每個整數的整數。 – Moby04

+0

好吧,並按我描述的方式迭代讓你這樣做。你還有問題嗎? – Kevin

+0

它仍然把價值視爲一個整數,並聲稱我不能遍歷它。 – Moby04