按顺序查找包含元音a,e,i,o和u的单词,每个单词一个

时间:2017-02-09 19:20:48

标签: python

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')

如何在变量中记录位置并根据位置值按顺序打印?

1 个答案:

答案 0 :(得分: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 : []