的元組我寫了這個代碼:如何定義一個函數讀取字符串
`
def key_gen(l):
lettersi =()
for a in range(l[0], l[4]):
letters1 = lettersi + (a,)
for b in range(l[5], l[9]):
letters2 = lettersi + (b,)
for c in range(l[10], l[14]):
letters3 = lettersi + (c,)
for d in range(l[15], l[19]):
letters4 = lettersi + (d,)
for e in range(l[20], l[24]):
letters5 = lettersi + (e,)
key = letters1 + letter2+ letter3 + letters4 + letters5
return key
`
我運行它,而在蟒蛇殼IM ...:
letters = ('A','B','C','D','E','F', 'G','H','I','J', ' ', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Z', '.')
>>>key_gen(letters)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in key_gen
TypeError: 'str' object cannot be interpreted as an integer
我不知道我在這裏做什麼錯誤,因爲我是一個Python初學者,但我想輸出是這樣的。你有什麼想法如何解決它?
>>>key_gen(letters)
((‘A’, ‘B’, ‘C’, ‘D’, ‘E’), (‘F’, ‘G’, ‘H’, ‘I’, ‘J’), (‘ ’, ‘L’, ‘M’, ‘N’, ‘O’), (‘P’, ‘Q’, ‘R’, ‘S’, ‘T’), (‘U’, ‘V’, ‘X’, ‘Z’, ‘.’))
也許是我的功能定義無法讀取字符串的元組,但我不知道如何做到這一點,香港專業教育學院已經GOOGLE了它並且不可能發現任何東西。
一般來說,列表用於比元組更是有你喜歡的元組對這項工作的理由? –
'我在範圍(0,len(letters),5)'tuple(字母[i:i + 5])'完成你想要的。 –
它的工作!非常感謝你的回答 –