[英]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.