Есть ли способ использовать переменную в цикле for внутри python? - PullRequest
0 голосов
/ 18 октября 2018

Мне нужно создать программу для школы, которая печатает количество строк в текстовом файле и количество раз, которое пользовательский ввод находится внутри файла.Поэтому моя идея заключалась в том, чтобы сделать два цикла, один из которых подсчитывает количество строк в файле, а другой - сколько раз буква, введенная пользователем, находится в файле.как это:

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 не принимают мои переменные в качестве переменных, они просто перебирают файл.Можно ли как-нибудь сделать эту работу, или мне придется начинать все заново с другого подхода?

Я надеюсь, что вы, ребята, можете мне помочь, любая помощь будет принята с благодарностью!пс.Пожалуйста, обратите внимание, что я полный noob Python, поэтому извините мой тупой вопрос.

1 Ответ

0 голосов
/ 18 октября 2018

Ваша функция file_len в порядке.Вам просто нужно изменить цикл for, который вы используете для подсчета количества вхождений буквы:

for line in open('scripting week 5.txt', 'r'):
    for char in line:
        if char==letter:
            amountOfTimes+= 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...