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


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

IndexError: list index out of range
sergeek
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
покажи полный вывод
или лучше файл выложи, если можешь.
Evgen_irk
Попробуйте посмотреть, что получается:
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
Grinader
Evgen_irk
Попробуйте посмотреть, что получается:

Получается что мне выводит следующее:
FishHook
Grinader,
Внимание на последнюю строку!!!!
Там пустой список, откуда он взялся?
Лишняя строчка в исходном файле, на ней и ошибка ибо строка есть, из файла она читается, но данных то там нет.
Grinader
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

Вот что вышло с вашим вариантом)
Grinader
Вот еxtmple.txt на всяк случай выложу)
Grinader
А вот вопросик: Как подсчитать количество одинаковых слов в тексте .txt (вот скажем именно ComponentA) и вывисти как то так

ComponentA = 5
bismigalis
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=" = ")
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