簡體   English   中英

檢查文本文件python中的字母

[英]Check for letter in text file python

我需要計算給我的文本文件中的元音數量(使用python程序)並返回該數量。 不管出於什么原因,即使我每次運行該程序並找到一個元音時count變量都應該增加一個,該文件仍會返回0個元音。

def numVowels(file):
    count = 0
    opened_file = open(file)
    content = opened_file.readlines()
    for char in content:
        if char.lower() in 'aeiou':
            count += 1
    return(count)

我不確定這是否是因為我正在處理文本文件,但是通常我可以毫無問題地執行此操作。 任何幫助是極大的贊賞。

謝謝!

readlines()返回文件中的行列表,因此for char in content:意味着char是文件中不是您要查找的文本行。
您可以將整個文件read()到內存中,或者逐行遍歷文件,然后一次遍歷行字符:

def numVowels(file):
    count = 0
    with open(file) as opened_file:
        for content in opened_file:
            for char in content:
                if char.lower() in 'aeiou':
                    count += 1
    return count

您可以將一個1的生成器求和以產生相同的值:

def numVowels(file):
    with open(file) as f:
        return sum(1 for content in f for char in content if char.lower() in 'aeiou')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM