python';字符串索引超出范围';错误

python';字符串索引超出范围';错误,python,indexing,syntax,range,Python,Indexing,Syntax,Range,我正在尝试编写一个单词扰码器,但当我尝试使用索引从单词中附加字母时,会出现错误“字符串索引超出范围”。我在没有“输入”的情况下尝试过这个,但一旦我添加了它,我就开始遇到问题。 我的代码是: a = input('word ->') b = [] count = 0 while count < 5: b.append(a[count]) count +=1 print(b) a=input('word->') b=[] 计数=0 当计数小于5时: b、 追加(一个[计

我正在尝试编写一个单词扰码器,但当我尝试使用索引从单词中附加字母时,会出现错误“字符串索引超出范围”。我在没有“输入”的情况下尝试过这个,但一旦我添加了它,我就开始遇到问题。 我的代码是:

a = input('word ->')
b = []
count = 0
while count < 5:
    b.append(a[count])
    count +=1
print(b)
a=input('word->')
b=[]
计数=0
当计数小于5时:
b、 追加(一个[计数])
计数+=1
印刷品(b)

如果有人能帮忙,那就太好了。谢谢

问题是您的“计数”将增加每个循环,直到达到5。如果输入中的字符串短于5,您将得到索引错误。

问题是您的“计数”将增加每个循环,直到达到5为止。如果输入中的字符串小于5,则会出现索引错误。

因为当输入小于5时,[count]超出索引。 所以试试这个:

a = input('word ->')
b = []
count = 0
while count < len(a):
    b.append(a[count])
    count +=1
print(b)
a=input('word->')
b=[]
计数=0
当计数
因为当您输入小于5时,[count]超出索引。 所以试试这个:

a = input('word ->')
b = []
count = 0
while count < len(a):
    b.append(a[count])
    count +=1
print(b)
a=input('word->')
b=[]
计数=0
当计数
我不确定您在这里想要实现什么,但请看以下内容:

word = input('word -> ')
b1 = []
# Iterate over letters in a word:
for letter in word:
    b1.append(letter)
print(b1)

b2 = []
# Use `enumerate` if you need to have an index:
for i, letter in enumerate(word):
    # `i` here is your `count` basically
    b2.append(letter)
print(b2)

# Make a list of letters using `list` constructor:
b3 = list(word)
print(b3)

assert b1 == b2 == b3

我不确定你想在这里实现什么,但看看这个:

word = input('word -> ')
b1 = []
# Iterate over letters in a word:
for letter in word:
    b1.append(letter)
print(b1)

b2 = []
# Use `enumerate` if you need to have an index:
for i, letter in enumerate(word):
    # `i` here is your `count` basically
    b2.append(letter)
print(b2)

# Make a list of letters using `list` constructor:
b3 = list(word)
print(b3)

assert b1 == b2 == b3

若你们的单词短于5个字母,那个么你们就不能得到第5个字母——你们会得到你们的错误。顺便说一句:你可以使用
b=a[:5]
如果你的单词短于5个字母,那么你就不能得到第5个字母,你就会得到你的错误。顺便说一句:你可以使用
b=a[:5]