【发布时间】:2013-10-29 23:03:12
【问题描述】:
尝试编写一段代码,在文本文件中查找所有特定类型的字符 对于元音,它会找到所有 a 的数量,但不会通过文本重新循环来读取 e。帮忙?
def finder_character(file_name,character):
in_file = open(file_name, "r")
if character=='vowel':
brain_rat='aeiou'
elif character=='consonant':
brain_rat='bcdfghjklmnpqrstvwxyz'
elif character=='space':
brain_rat=''
else:
brain_rat='!@#$%^&*()_+=-123456789{}|":?><,./;[]\''
found=0
for line in in_file:
for i in range (len(brain_rat)):
found += finder(file_name,brain_rat[i+1,i+2])
in_file.close()
return found
def finder(file_name,character):
in_file = open(file_name, "r")
line_number = 1
found=0
for line in in_file:
line=line.lower()
found +=line.count(character)
return found
【问题讨论】:
-
def finder(file_name,character): in_file = open(file_name, "r") line_number = 1 found=0 for line in in_file: line=line.lower() found +=line.count (字符)返回找到
-
当您不使用
line时,为什么finder_character会循环覆盖line in in_file? -
这应该回答我的问题吗?因为它没有。
-
你打算
brain_rat[i+1,i+2]做什么?此语法对于lists 是不合法的。 -
@SandiWilliams 我认为您将尝试做的事情复杂化了。在下面查看我修改后的答案,该答案解释了如何逐步浏览文件。