Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 21, 2015 15:03:27

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

Подсчет словосочетаний в файлах

Завести переменную - накопитель и вместо print

xxx += len(found)

Оно?

Отредактировано Iskatel (Окт. 21, 2015 15:07:31)

Офлайн

#2 Окт. 22, 2015 05:16:10

Kir@
Зарегистрирован: 2015-08-13
Сообщения: 124
Репутация: +  0  -
Профиль   Отправить e-mail  

Подсчет словосочетаний в файлах

Не-а, тот же результат:

    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
>>>

Отредактировано Kir@ (Окт. 22, 2015 05:16:29)

Офлайн

#3 Окт. 22, 2015 05:39:37

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Подсчет словосочетаний в файлах

Kir@
Не-а, тот же результат:
Kir@
xxx=0
а по другому и не могло быть



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Окт. 22, 2015 05:41:34

Kir@
Зарегистрирован: 2015-08-13
Сообщения: 124
Репутация: +  0  -
Профиль   Отправить e-mail  

Подсчет словосочетаний в файлах

JOHN_16
Ну почему, вот по-другому, без обнуления:
UnboundLocalError: local variable 'xxx' referenced before assignment

Офлайн

#5 Окт. 22, 2015 05:47:15

Kir@
Зарегистрирован: 2015-08-13
Сообщения: 124
Репутация: +  0  -
Профиль   Отправить e-mail  

Подсчет словосочетаний в файлах

Если задать переменной xxx значение 2, то к результатам len(found) == string.count(pattern) будет прибавлено значение переменной и все также будут выведены строки, но уже с прибавлением ххх.
Как сложить ВСЕ полученные строк?

Офлайн

#6 Окт. 22, 2015 05:52:54

Vigi
От: Курья, Алтай
Зарегистрирован: 2015-02-07
Сообщения: 144
Репутация: +  8  -
Профиль   Отправить e-mail  

Подсчет словосочетаний в файлах

если xxx вынести за цикл и

 xxx = []
а в место xxx += len(found)

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

не то ?

Отредактировано Vigi (Окт. 22, 2015 05:53:25)

Офлайн

#7 Окт. 22, 2015 05:56:26

Kir@
Зарегистрирован: 2015-08-13
Сообщения: 124
Репутация: +  0  -
Профиль   Отправить e-mail  

Подсчет словосочетаний в файлах

Vigi
если xxx вынести за цикл и xxx = а в место xxx += len(found)
Не совсем понял, в коде это как выглядеть будет?

Офлайн

#8 Окт. 22, 2015 05:58:32

Vigi
От: Курья, Алтай
Зарегистрирован: 2015-02-07
Сообщения: 144
Репутация: +  8  -
Профиль   Отправить e-mail  

Подсчет словосочетаний в файлах

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))
как -то так

Офлайн

#9 Окт. 22, 2015 06:11:14

Kir@
Зарегистрирован: 2015-08-13
Сообщения: 124
Репутация: +  0  -
Профиль   Отправить e-mail  

Подсчет словосочетаний в файлах

Vigi
как -то так
Ай, красавец!

Офлайн

#10 Окт. 23, 2015 15:27:09

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

Подсчет словосочетаний в файлах

Kir@
Ну так и с суммой тоже самое, я же писал

Iskatel
Завести переменную - накопитель

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

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

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

Только заметил: А нафига ты сам обнуляешь эту сумму в каждом проходе??? это же накопитель, а ты его сбрасываешь??

Отредактировано Iskatel (Окт. 23, 2015 15:29:58)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version