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