Найти - Пользователи
Полная версия: Подсчет словосочетаний в файлах
Начало » Python для новичков » Подсчет словосочетаний в файлах
1 2 3 4 5 6 7
Iskatel
Завести переменную - накопитель и вместо print

xxx += len(found)

Оно?
Kir@
Не-а, тот же результат:
    for i in seq:
        #print(i)
        with open(i) as f:
            data=f.read()
            data=re.sub(r'(Первый\s+вопрос[\A\a\Z\z\D\d]*)', r'', data).strip()
            data=' '.join(data.split())
            #print(data)
            pattern='ТЫЦ'
            string = data
            found = re.findall(pattern, string)
            len(found) == string.count(pattern)
            #print(string.count(pattern))
            xxx=0
            xxx += len(found)
            print(xxx)

В итоге:
>>> 
1
1
5
5
0
3
3
2
1
2
>>>
JOHN_16
Kir@
Не-а, тот же результат:
Kir@
xxx=0
а по другому и не могло быть
Kir@
JOHN_16
Ну почему, вот по-другому, без обнуления:
UnboundLocalError: local variable 'xxx' referenced before assignment
Kir@
Если задать переменной xxx значение 2, то к результатам len(found) == string.count(pattern) будет прибавлено значение переменной и все также будут выведены строки, но уже с прибавлением ххх.
Как сложить ВСЕ полученные строк?
Vigi
если xxx вынести за цикл и
 xxx = []
а в место xxx += len(found)

xxx.append(len(found))
ну а потом вне цикла
print(sum(xxx))

не то ?
Kir@
Vigi
если xxx вынести за цикл и xxx = а в место xxx += len(found)
Не совсем понял, в коде это как выглядеть будет?
Vigi
xxx = []
for i in seq:
        #print(i)
        
        with open(i) as f:
            data=f.read()
            data=re.sub(r'(Первый\s+вопрос[\A\a\Z\z\D\d]*)', r'', data).strip()
            data=' '.join(data.split())
            #print(data)
            pattern='ТЫЦ'
            string = data
            found = re.findall(pattern, string)
            len(found) == string.count(pattern)
            #print(string.count(pattern))
            xxx.append(len(found))
print(sum(xxx))
как -то так
Kir@
Vigi
как -то так
Ай, красавец!
Iskatel
Kir@
Ну так и с суммой тоже самое, я же писал
Iskatel
Завести переменную - накопитель

Это и значит объявить ее гдето вне цикла, иначе в каждом проходе цикла будет своя ххх

Тебе бы про область видимости почитать.

А список тут лишнее.

Только заметил: А нафига ты сам обнуляешь эту сумму в каждом проходе??? это же накопитель, а ты его сбрасываешь??
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB