在第二個for循環運行到26時,我希望每次從列表中刪除一個項目時都要將其設置爲零,以便我可以檢查從一開始如果在list1中所有字母表中都有一個字母表,我嘗試在for循環內的if語句中添加i = 0,但它回到其範圍值並且不會被重置爲零。每次for循環運行在python中時,需要將i設置爲零
import string
def getAvailableLetters(lettersGuessed):
str1 = string.ascii_lowercase
list1 = [ ]
list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
str3 = ""
str4 = str3.join(lettersGuessed)
for j in range(len(str4)):
for i in range(26):
if list1[i] == str4[i]:
list1.remove(list1[i])
lettersGuessed = ['e', 'i', 'k', 'p', 'r', 's']
getAvailableLetters(lettersGuessed)
換句話說,要刪除''從string.ascii_lowercase' lettersGuessed'? – Ben
通常,如果不使用Python特有的東西,你可以用'while'循環('while while i <26'或類似的)替換'for'循環,並根據需要添加行來增加/重置'i'。如果這是用於生產編碼器而不是一般的編程練習,那麼請使用@ wim的方法。 – YXD
是的,抱歉,不明確。 –