在while循环中使用read函数

时间:2017-11-12 03:01:00

标签: python-3.x function while-loop

我不确定如何正确地让读取功能完成我想做的事情。我想让它循环通过文件中的字符列表,直到它到达字符“#”。我希望它能够查看每个字符,如果它是一个元音,可以将它附加到列表中。我在其他帮助线程中看到的读取函数的文档让我感到困惑。到目前为止,我有这个:

def opt():
    filename = input("Enter the name of your input file: ")
    infile = open(filename, 'r')
    a = []
    vowel = infile.read(1)
    while (vowel != '#'):
        if vowel == "A":
            a.append(vowel)
            vowel = infile.read(1)
        elif vowel == "E":
            a.append(vowel)
            vowel = infile.read(1)
        elif vowel == "I":
            a.append(vowel)
            vowel = infile.read(1)
        elif vowel == "O":
            a.append(vowel)
            vowel = infile.read(1)
        elif vowel == "U":
            a.append(vowel)
            vowel = infile.read(1)
        else:
            vowel = infile.read(1)
    return (a)

注意else运算符,如果它是一个辅音 - 它只会转到下一个字符。

我做错了什么?

由于

1 个答案:

答案 0 :(得分:0)

如果我是你,我会这样做

def opt():
    filename = input("Enter the name of your input file: ")
    infile = open(filename, 'r')
    a = []
    vowel = infile.read(1)
    while vowel != '#':
        if vowel in ('A', 'E', 'I', 'O', 'U'):
            a.append(vowel)
        vowel = infile.read(1)
    return a