Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 7, 2013 13:19:24

Grinader
Зарегистрирован: 2013-10-05
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите решить задачку)

Вот exemple.txt )

Прикреплённый файлы:
attachment exemple.png (51,9 KБ)

Офлайн

#2 Окт. 7, 2013 13:21:33

Grinader
Зарегистрирован: 2013-10-05
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите решить задачку)

Evgen_irk
1) Посмотреть ваш txt-файл с данными.2) В скрипте у вас ошибки: в 4-й строке опечатка “i.splint” должно быть “i.split” в 7-й строке дописать “print res”


Всеравно пишит такую ошибку:

IndexError: list index out of range

Офлайн

#3 Окт. 7, 2013 13:28:10

sergeek
Зарегистрирован: 2012-06-26
Сообщения: 470
Репутация: +  43  -
Профиль   Отправить e-mail  

Помогите решить задачку)

res = {}
with open("data.dat", "r") as f:
    for i in f:
        try:
            comp = i.split()[1]
        except IndexError:
            print(i)
        res.setdefault(comp, 0)
        res[comp] += 1
print re
покажи полный вывод
или лучше файл выложи, если можешь.

Отредактировано sergeek (Окт. 7, 2013 13:30:36)

Офлайн

#4 Окт. 7, 2013 13:29:36

Evgen_irk
От: Иркутск
Зарегистрирован: 2009-02-02
Сообщения: 45
Репутация: +  4  -
Профиль   Отправить e-mail  

Помогите решить задачку)

Попробуйте посмотреть, что получается:

res = {}
with open("data.dat", "r") as f:
    for i in f:
        lst = i.split()
        print lst
        comp = i.split()[1]
        res.setdefault(comp, 0)
        res[comp] += 1
print res



wxPython

Офлайн

#5 Окт. 7, 2013 13:37:16

Grinader
Зарегистрирован: 2013-10-05
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите решить задачку)

Evgen_irk
Попробуйте посмотреть, что получается:

Получается что мне выводит следующее:

Прикреплённый файлы:
attachment 111.png (87,1 KБ)

Офлайн

#6 Окт. 7, 2013 13:39:45

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите решить задачку)

Grinader,
Внимание на последнюю строку!!!!
Там пустой список, откуда он взялся?
Лишняя строчка в исходном файле, на ней и ошибка ибо строка есть, из файла она читается, но данных то там нет.



Офлайн

#7 Окт. 7, 2013 13:39:52

Grinader
Зарегистрирован: 2013-10-05
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите решить задачку)

sergeek
res = {}
with open(“data.dat”, “r”) as f:
for i in f:
try:
comp = i.split()
except IndexError:
print(i)
res.setdefault(comp, 0)
res += 1
print re

Вот что вышло с вашим вариантом)

Прикреплённый файлы:
attachment 112.png (75,8 KБ)

Офлайн

#8 Окт. 7, 2013 13:41:35

Grinader
Зарегистрирован: 2013-10-05
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите решить задачку)

Вот еxtmple.txt на всяк случай выложу)

Прикреплённый файлы:
attachment exemple.txt (2,0 KБ)

Офлайн

#9 Окт. 7, 2013 14:40:04

Grinader
Зарегистрирован: 2013-10-05
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите решить задачку)

А вот вопросик: Как подсчитать количество одинаковых слов в тексте .txt (вот скажем именно ComponentA) и вывисти как то так

ComponentA = 5

Офлайн

#10 Окт. 7, 2013 15:41:49

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Помогите решить задачку)

from collections import defaultdict                                                                                                                                                      
                                                                                                                                                                                         
res = defaultdict(int)                                                                                                                                                                   
                                                                                                                                                                                         
with open('exemple.txt') as f:                                                                                                                                                           
    for line in f:
        if line:                                                                                                                                                               
            res[line.split()[1]] += 1                                                                                                                                                                   
for k, v in res.items():
    print(k, v, sep=" = ")

Отредактировано bismigalis (Окт. 7, 2013 16:18:47)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version