2017-02-09 10 views
0
vowels = "aeiouy" 
with open('dictionary.txt') as fp: 
    for line_str in fp: 
     line_str = line_str.strip().lower() 
     apos = line_str.find('a') 
     epos = line_str.find('e') 
     ipos = line_str.find('i') 
     opos = line_str.find('o') 
     upos = line_str.find('u') 

位置を変数に記録し、位置の値に基づいて順序を印刷するにはどうすればよいですか?母音a、e、i、o、uの順にその単語が1つずつ見つかります。

+4

誰かが昨日この正確な質問をしました。この宿題ですか? – Carcigenicate

+0

*です。何を試しましたか? – Carcigenicate

+0

なぜあなたの母音文字列に "y"があるのですか? –

答えて

0

IIUCでは、各母音のすべての位置をファイルの文字列\行に入れる必要があります。 enumerateは、文字列の各文字をループするために使用され、文字が母音に一致するかどうかを確認します。

vowels = "aeiou" 
fp='''habsafkbasf\n 
asfgnkalsgna\n 
asglkasgnn\ 
''' 
for line_str in fp.split('\n'): 
    line_str = line_str.strip().lower() 
    print line_str 
    for c in vowels: 
     print c, ":", [pos for pos, char in enumerate(line_str) if char == c] 

出力

habsafkbasf 
a : [1, 4, 8] 
e : [] 
i : [] 
o : [] 
u : [] 

a : [] 
e : [] 
i : [] 
o : [] 
u : [] 
asfgnkalsgna 
a : [0, 6, 11] 
e : [] 
i : [] 
o : [] 
u : [] 

a : [] 
e : [] 
i : [] 
o : [] 
u : [] 
asglkasgnn 
a : [0, 5] 
e : [] 
i : [] 
o : [] 
u : [] 
関連する問題