узнайте, сколько раз этот вставленный знак появляется в документе - PullRequest
0 голосов
/ 21 февраля 2020

В этой программе я хочу напечатать документ; подсчитайте количество строк и количество конкретного символа c, который вы запрашиваете в части input . Я хочу выяснить , сколько раз появляется этот знак с надписью в документе. Но программа возвращает то же число, что и для num_lines , тогда как число не совпадает. Почему это так? Как заставить это работать и каковы другие способы получить те же результаты? Заранее спасибо!

file = open('notes.txt', 'r')
for i in file:
        print (i)

num_lines = sum(1 for line in open('notes.txt'))
print('The number of lines in the document is:', num_lines)

signs=input('Input the sign you want to count:')
num_sign = sum(1 for signs in open('notes.txt'))
print('The number of signs in the document is:', num_sign) ```

Ответы [ 2 ]

1 голос
/ 21 февраля 2020

Когда вы пишете:

for signs in open('notes.txt')

Вы переопределяете ранее объявленную переменную signs.

. Вы можете заменить ее на:

signs = input('Input the sign you want to count:')
num_sign = 0
for line in open('notes.txt'):
    num_sign += line.count(signs)
0 голосов
/ 21 февраля 2020

Я бы сделал это:

signs = input('Input the sign you want to count:')

file = open('notes.txt', 'r')
f = file.read()

print('lines:', len(f.split('\n')))
print('signs:', f.count(signs))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...