2017-03-18 248 views
-3

我想打印字符串中的每個字符"Camus"For循環通過一個字符串

string_1 = "Camus" 
x = 0 

for string_1 in range(5): 
    output_1 = (string_1[x]) 
    print(output_1) 
    x =+ 1 

但是,這將引發異常:

TypeError: 'int' object is not subscriptable 
+3

'string_1'是'range()'中的一個整數。也許你想使用'for x in ..'? –

+0

什麼是正確的方法來做到這一點? –

+0

'x = + 1'是否是錯字?那應該是'x + = 1',對吧? – MSeifert

回答

0

要打印每次你不需要索引串字符,只是遍歷字符串:

string_1 = "Camus" 
for character in string_1: 
    print(character) 

你覆蓋你string_1在每次迭代中,所以你會得到一個整數string_1不能下標。因此例外。

如果你想索引你需要使用另一個迭代變量,就像你x

string_1 = "Camus" 
for idx in range(5): 
    print(string_1[idx]) 

如果你想使用自定義的索引變量做到這一點,你也可以放棄迭代變量和做增量爲+=

string_1 = "Camus" 
idx = 0 
for _ in range(5): 
    print(string_1[idx]) 
    idx += 1 

但是,迭代字符串可能是最好的方法。 :)