我需要为学校编写一个程序,以打印文本文件中的行数以及用户输入的内容在文件中的次数。 所以我的想法是做两个循环,一个循环计算文件中的行数, 并计算用户输入的字母在文件中的次数。 像这样:
def file_len(fname):
amountOfLines = 0
line = ''
with open(fname, 'r') as f:
for line in f:
amountOfLines += 1
return amountOfLines
letter= input('Put in a letter: ')
amountOfTimes= 0
for letter in open('scripting week 5.txt', 'r'):
amountOfTimes += 1
print('The amount of lines in the file is', file_len('scripting week 5.txt'))
print('The letter you put in appears', amountOfTimes, 'times.')
但是那是行不通的,因为for循环没有将我的变量当作变量,它们只是遍历文件。有什么办法可以使这项工作奏效,还是我必须从头开始采用其他方法?
我希望你们能帮助我, 任何帮助将不胜感激! ps。请注意,我是一个完整的python noob,请原谅我的愚蠢问题。
答案 0 :(得分:1)
您的file_len函数很好。您只需要修改用于计算字母出现次数的for循环即可:
for line in open('scripting week 5.txt', 'r'):
for char in line:
if char==letter:
amountOfTimes+= 1