Python“;列表索引超出范围“;

Python“;列表索引超出范围“;,python,Python,下面的代码有点问题。我正在将一个短语从英语翻译成拉丁语,尽管我已经尝试了很多解决方法,但似乎遇到了以下问题 Traceback (most recent call last): File "C:/Users/PMARINA/Documents/Python/YI_WordEnkryption.py/PM_PhraseEnkryption.py"> , line 37, in <module> english = wordlist[wordcount] IndexError

下面的代码有点问题。我正在将一个短语从英语翻译成拉丁语,尽管我已经尝试了很多解决方法,但似乎遇到了以下问题

Traceback (most recent call last):
File "C:/Users/PMARINA/Documents/Python/YI_WordEnkryption.py/PM_PhraseEnkryption.py">    , line 37, in <module>
english = wordlist[wordcount]
IndexError: list index out of range
回溯(最近一次呼叫最后一次):
文件“C:/Users/PMARINA/Documents/Python/YI_WordEnkryption.py/PM_PhraseEnkryption.py”>,第37行,在
英语=词表[字数]
索引器:列表索引超出范围
代码:

import string
import re
english = (input('English --> Pig Latin:  ')).lower()
overlist = re.sub("[^\w]", " ",  english).split()
overcounter = len(overlist) -1
counter = 0
count = 0
wordcount = 0
wordlist = []
vowels = ['a','e','i','o','u','y','A','E','I','O','U','Y']
counter = 0
vlist = []
clist = []
vlength = len(vowels) -1
while counter <=vlength:
        vlist.append(vowels[counter])
        counter +=1
consonants = string.ascii_letters
clength = len(consonants) -1
counter = 0
while counter <= clength:
    clist.append(consonants[counter])
    counter +=1
clist.remove('A')
clist.remove('E')
clist.remove('I')
clist.remove('O')
clist.remove('U')
clist.remove('Y')
clist.remove('a')
clist.remove('e')
clist.remove('i')
clist.remove('o')
clist.remove('u')
clist.remove('y')
while count<= overcounter:
        english = wordlist[wordcount]      # Line 37
        length = len(english) -1
        while counter <=length:
            enlist.append(english[counter])
            counter +=1
        if enlist[0] in vlist:
            enlist.append(enlist[0])
            enlist.append('way')
            enlist.remove(enlist[0])
        else:
            enlist.append(enlist[0])
            enlist.append('ay')
            enlist.remove(enlist[0])
        wordlist.append(''.join(enlist))

    wordcount +=1
    count +=1
    counter = 0
    overcounter+=1
print(wordlist)
导入字符串
进口稀土
english=(输入('english-->Pig Latin:')。lower()
overlist=re.sub(“[^\w]”,英文)。split()
过度计数=长度(过度列表)-1
计数器=0
计数=0
字数=0
单词表=[]
元音=['a'、'e'、'i'、'o'、'u'、'y'、'a'、'e'、'i'、'o'、'u'、'y']
计数器=0
vlist=[]
clist=[]
长=长(元音)-1

计数器时,单词列表为空

您正在尝试做的与此等效:

>>> test = []
>>> test[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
为此:

for letter in vowels:
    clist.remove(letter)

单词列表为空

您正在尝试做的与此等效:

>>> test = []
>>> test[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
为此:

for letter in vowels:
    clist.remove(letter)

单词列表为空

您正在尝试做的与此等效:

>>> test = []
>>> test[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
为此:

for letter in vowels:
    clist.remove(letter)

单词列表为空

您正在尝试做的与此等效:

>>> test = []
>>> test[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
为此:

for letter in vowels:
    clist.remove(letter)


english=wordlist[wordcount]是有问题的一行,就在第一个巨型while循环中,还有其他while循环。我想你是Python新手,但我认为如果你多读一些基本数据类型,也许列出所有建议的源代码,你会节省很多工作(修复bug)@JohnLaRooyenglish=wordlist[wordcount]是有问题的一行,就在第一个巨大的while循环中,还有其他while循环。我想你是Python新手,但我认为如果你多读一点基本数据类型,或者列出所有建议的源代码,你会节省很多工作(修复bug)@JohnLaRooyenglish=wordlist[wordcount]是有问题的一行,就在第一个巨大的while循环中,还有其他while循环。我想你是Python新手,但我认为如果你多读一点基本数据类型,或者列出所有建议的源代码,你会节省很多工作(修复bug)@JohnLaRooyenglish=wordlist[wordcount]是有问题的一行,就在第一个巨大的while循环中,还有其他while循环。我想你是Python新手,但我认为如果你多读一点基本数据类型,或者列出所有建议的源代码,你会节省很多工作(修复bug)@JohnLaRooyShoot,你是对的,我忘了我已经有了一个变量用于所讨论的列表!谢谢我还为我的答案添加了另一个改进,与第一个问题无关,你是对的,我忘了我已经为问题列表添加了一个变量!谢谢我还为我的答案添加了另一个改进,与第一个问题无关,你是对的,我忘了我已经为问题列表添加了一个变量!谢谢我还为我的答案添加了另一个改进,与第一个问题无关,你是对的,我忘了我已经为问题列表添加了一个变量!谢谢我还对我的答案增加了另一个改进,与第一个问题无关