2016-02-27 68 views
4

我剛剛在這裏註冊,因爲我正在使用Python在線課程,並且一直在使用此網站來幫助我完成課程。我是;然而,卡住了。對具有不同可能字符的字符串進行迭代

我沒有張貼我的實際家庭作業,而只是我的代碼元素我有一個困難的時期......

我試圖通過使用包含字母列表的字符串進行迭代字母。我想讓列表中的每個字母在不同索引處遍歷單詞。例如:

字= 「熊貓」 char_list = [ 'A', 'B', 'C']等... 輸出應aanda,熊貓,paada ...... 通過隨後banda,pbnda,pabda,...

我的代碼僅使用列表中的第一個字符迭代單詞。 對不起,我是超級新編碼一般...

index = 0 
word = "panda" 
possible_char = ['a', 'b', 'c', 'd', 'o'] 
for char in possible_char: 
    while index < len(word): 
     new_word = word[:index] + char + word[index + 1:] 
     print (new_word) 
     index = index + 1 
+0

你忘了更新'index'計數器。在while循環之後將它設置爲* 0 *。 – vaultah

回答

1

您的while循環僅適用於外部for循環的第一次循環,因爲index未被重置並在第一次收縮後保持在len(word)。嘗試移動,你把它初始化爲0外環內線路:

for char in possible_chars: 
    index = 0 
    while index < len(word): 
     #... 
1

你是非常接近。 你只需要將索引重置爲零。所以在for循環之後,你的第一個命令應該是index=0

1
index = 0 
word = "panda" 
possible_char = ['a', 'b', 'c', 'd', 'o'] 
for char in possible_char: 
    index = 0 
    while index < len(word): 
     new_word = word[:index] + char + word[index + 1:] 
     print (new_word) 
     index = index + 1 

您對for循環重新初始化索引,只是爲了從頭再來上的字

0

你忘了初始化for循環中的索引計數器:

index = 0 
word = "panda" 
possible_char = ['a', 'b', 'c', 'd', 'o'] 
for char in possible_char: 
    index = 0 
    while index < len(word): 
     new_word = word[:index] + char + word[index + 1:] 
     print (new_word) 
     index = index + 1 
1

您只需在完成迭代每個字符後將索引重置爲0。

index = 0 
word = "panda" 
possible_char = ['a', 'b', 'c', 'd', 'o'] 
for char in possible_char: 
    index=0 
    while index < len(word): 
     new_word = word[:index] + char + word[index + 1:] 
     print (new_word) 
     index = index + 1