2017-06-12 8 views
-2

のための範囲外の文字列インデックス、私は私のプログラムがリストはIndexError:もしたstatments

alpha =["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"] 
def PARSE(inpu):  #Parse and remove symbols 
PARSE = list() 
d = 0 

intv = 0 
output = 0 
for i in range (len(inpu)): 
    intv = intv + 1 
    if inpu[intv] in alpha: 
     output = output, inpu[intv] 
intv = 0 
LI1 = 1 
LI2 = 1 
while len[output] != LI1 - 1: 
    PARSE.append("") 
    while not len[output] - 1 < LI1 or not output[LI1] == '': 
     PARSE[LI2 - 1] = PARSE[LI2] + output[LI1] 
     LI1 = LI1 + 1 
     last = last + 1 
     LI1 = LI1 + 1 
     LI2 = LI2 + 1 
PARSE[last] = PARSE[last] + output[LI1 - 1] 
done = 1 

に文を分割するようにそれを作るしようとしている。しかし、私は、このエラーメッセージを指定

IndexError: string index out of range 
を取得私はこの問題を解決するにはどうすればよい
if inpu[intv] in alpha: 

?あなたのアルファのための

答えて

0

あなたはすべての句読点や記号をフィルタリングしようとしている場合は、これを試してみてください。

import string 

def Parse(inpu) 

    return ''.join(i for i in inpu if i.lower() in string.ascii_lowercase) 
0

短縮形:

import string 

alpha = list(string.ascii_lowercase) 
0

あなたは、その値i+1で、範囲の外に出る2番目のインデックスintvを作成します。 変更:によって

for i in range (len(inpu)): 
    intv = intv + 1 
    if inpu[intv] in alpha: 

for i in range (len(inpu)): 
    if inpu[i] in alpha: 
+0

まだ私に同じエラーを与えた:( –

1

また、組み込みのメソッドを使用することができますisalpha()

for i in range(len(inpu)): 
    if inpu[i].isalpha():