Уведомления

Группа в Telegram: @pythonsu

#1 Март 15, 2013 08:48:37

Kontox
Зарегистрирован: 2013-03-15
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите справиться с написанием кода

Друзья, буду очень рад помощи. Мне надо с помощью питона решить задачу по обработке данных, а именно:
Есть файл с данными по тесту(txt). Там данные испытуемых, которые отвечали на 14 вопросов по 5 раз. Испытуемые отделены друг от друга пустой строкой.
примерно так
1,0,0,1,0,1,0,1,1,1,0,1,1,1
1,0,1,1,0,0,1,1,0,1,0,1,1,1
1,0,0,1,0,1,0,1,1,0,0,1,0,1
1,0,0,0,1,1,1,1,0,1,1,0,1,0
0,1,0,1,1,1,0,1,1,0,0,1,1,0

1,1,1,1,1,0,1,1,0,0,1,1,1,1
1,0,1,1,1,0,0,1,1,1,0,1,0,1
1,1,0,0,0,0,0,0,0,0,0,1,0,1
1,0,0,1,1,0,1,0,0,1,0,1,0,1
1,0,0,1,0,1,1,1,1,1,1,1,0,1

0,1,0,1,0,1,1,1,0,0,1,1,1,1
1,0,1,0,1,1,1,1,1,0,1,1,1,0
1,0,1,0,1,0,0,1,1,1,0,1,1,1
1,0,0,1,1,1,1,0,0,0,1,1,1,0
1,0,0,1,1,1,1,1,1,0,1,1,1,1

0,1,1,1,0,1,0,0,1,0,1,1,1,0
1,1,1,1,0,1,1,1,1,0,1,1,0,0
1,1,1,1,1,0,1,1,1,0,0,1,1,0
1,1,1,1,0,1,1,1,1,0,1,1,1,0
1,1,1,0,1,0,1,1,1,0,1,1,1,1

0,1,1,1,0,0,1,1,0,1,1,0,0,1
0,1,0,1,1,1,1,1,1,1,1,1,0,0
0,1,0,1,0,0,1,0,0,0,0,1,0,1
0,1,0,1,1,1,1,1,0,1,1,1,0,1
0,0,0,1,1,1,1,1,0,0,1,1,1,1

0,0,1,1,0,0,1,1,1,0,1,1,1,1
1,1,1,1,1,0,1,1,1,1,1,1,1,0
0,0,1,1,1,0,1,1,0,0,1,1,1,1
1,0,0,0,1,1,0,1,1,1,1,1,1,1
1,1,1,1,1,0,1,0,1,1,1,0,1,1

0,0,1,0,0,0,1,1,1,0,1,1,1,1
1,1,0,1,0,0,0,1,0,0,1,0,1,0
1,0,1,1,1,1,1,1,0,1,0,1,0,1
1,1,0,1,1,1,1,1,1,0,0,0,1,0
1,0,0,1,0,0,1,1,0,1,0,1,1,0

1,0,0,1,1,0,0,0,1,0,1,0,1,0
1,1,1,1,1,1,1,0,1,0,1,1,1,0
1,1,1,0,1,0,0,0,0,0,1,0,1,0
0,1,1,1,0,0,1,1,1,1,1,1,1,0
1,1,1,1,1,1,1,0,0,1,0,1,1,1

0,1,0,1,0,1,0,1,0,0,1,0,1,0
0,1,1,1,1,0,1,1,0,0,1,1,0,1
0,1,0,1,1,1,1,0,0,1,0,1,0,0
1,1,1,1,1,0,1,1,1,0,1,0,0,1
1,1,0,1,0,0,1,0,0,0,1,0,0,1

0,0,1,1,1,1,0,1,0,1,0,1,1,0
0,1,0,1,1,0,1,1,1,1,1,0,1,1
0,0,1,1,0,1,0,1,1,1,1,0,1,0
1,1,0,1,1,0,1,1,0,1,1,1,1,0
1,1,0,0,0,1,1,1,1,0,1,0,1,0

1,1,0,1,0,0,0,0,1,1,0,1,0,1
1,1,1,1,1,0,0,0,1,0,1,0,0,1
1,0,0,1,0,0,0,1,1,1,0,1,1,1
1,1,1,0,0,1,0,1,1,0,0,1,0,1
1,0,0,1,1,0,0,1,0,0,1,0,0,0

0,0,1,1,1,0,1,1,1,1,0,0,1,1
1,1,1,1,1,1,1,1,1,0,1,1,1,1
1,1,0,1,0,1,0,1,1,1,0,1,1,1
1,1,0,0,1,0,1,1,1,1,0,1,0,1
0,1,1,1,0,1,0,1,0,1,0,0,1,0

1,1,0,1,0,0,0,1,0,1,0,1,1,0
0,1,0,0,1,0,1,0,0,0,0,0,0,1
1,0,0,1,1,0,0,0,0,1,0,0,0,0
1,1,0,0,0,0,0,1,0,0,0,0,0,1
0,0,0,0,0,1,1,0,0,1,1,0,1,1

1,0,1,1,1,0,0,0,0,0,1,0,0,1
0,0,1,0,0,1,0,0,0,0,0,0,0,0
0,1,1,0,0,0,0,1,1,0,1,0,1,0
1,0,1,0,0,1,1,1,0,0,0,0,1,0
0,0,1,0,1,0,0,1,1,0,0,0,1,0

1,0,1,1,0,1,0,1,1,0,1,1,1,0
1,1,0,1,0,1,0,1,0,0,1,1,0,0
1,1,0,1,0,0,0,1,0,0,1,0,0,0
0,1,0,1,0,0,0,0,1,1,1,0,0,0
1,0,0,1,0,0,0,1,0,0,1,1,1,0

0,1,1,0,0,0,1,0,1,0,0,0,0,1
0,0,1,1,0,1,0,0,0,0,0,0,0,0
1,1,1,1,0,0,1,1,1,1,1,0,0,1
0,0,1,1,0,1,1,0,0,0,0,1,0,0
1,0,1,0,0,1,0,0,0,0,0,0,0,1

1,1,0,1,0,0,0,1,1,0,1,0,1,0
1,1,1,1,1,1,1,1,1,0,0,0,1,1
1,1,1,0,0,1,1,1,1,0,1,1,1,0
1,1,1,1,0,1,1,0,1,0,1,1,1,0
1,1,1,1,0,1,1,1,1,0,1,0,1,0

0,0,0,1,1,1,1,1,1,0,0,1,1,0
0,1,1,1,1,0,1,1,1,1,0,0,1,1
1,1,0,1,1,0,0,1,0,1,0,1,0,1
1,0,1,0,1,0,1,1,1,0,0,0,1,1
1,0,0,1,1,0,1,1,1,0,0,0,1,0

0,0,0,0,1,0,0,1,0,0,0,0,0,1
0,0,0,1,0,0,1,1,0,0,0,1,1,1
1,1,1,1,0,0,1,1,0,1,1,1,0,1
1,1,0,1,0,1,1,1,0,0,0,1,0,0
0,0,0,1,0,1,1,1,1,0,1,1,1,0
19 испытемых
там помечено 1 значит испытуемый правильно ответил, 0 — ошибся. Подскажите какой написать код, чтобы вычислить вероятность ошибки для каждого из испытуемых и вывести эти вероятности на экран.
Иными словами каждый испытуемый всего прорешал 70 задач.что решил правильно, то 1.
Если сложить все решенные задачи правильно и поделить на 70, то получишь вероятность того, что испытуемый решит правильно следующую задачу.

Я сам исходя справочника питона стараюсь сделать но у меня ничего не получается. Как тут выстроить алгоритм.(

Отредактировано Kontox (Март 15, 2013 09:51:12)

Офлайн

#2 Март 15, 2013 09:04:05

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

помогите справиться с написанием кода

def get_chance(lst):
    flat = reduce(lambda x,y:x+y, lst)
    chance = sum(filter(None,flat))/float(len(flat))
    return chance
s=[
   [0,1,1,1,0,0,1,1,0,1,1,0,0,1],
   [0,1,0,1,1,1,1,1,1,1,1,1,0,0],
   [0,1,0,1,0,0,1,0,0,0,0,1,0,1],
   [0,1,0,1,1,1,1,1,0,1,1,1,0,1],
   [0,0,0,1,1,1,1,1,0,0,1,1,1,1],
  ]
print get_chance(s)



Отредактировано FishHook (Март 15, 2013 09:05:46)

Офлайн

#3 Март 15, 2013 09:39:21

Kontox
Зарегистрирован: 2013-03-15
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите справиться с написанием кода

FishHook спасибо за ответ, попробывал, но что то он много ошибок выдал

Прикреплённый файлы:
attachment Безымянный.JPG (73,5 KБ)

Офлайн

#4 Март 15, 2013 10:10:22

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

помогите справиться с написанием кода

Kontox
а вы сохраните в файл скрипт и запускайте из питона

Офлайн

#5 Март 15, 2013 10:14:08

Kontox
Зарегистрирован: 2013-03-15
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите справиться с написанием кода

ilnur
а можете, пожалуйста, сказать как его сохранить в скрипт и запускать
имеет ввиду сделать файл с расширением Py? А как его запустить?

Офлайн

#6 Март 15, 2013 13:16:23

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

помогите справиться с написанием кода

Kontox
А как его запустить?
А питон установлен?

Офлайн

#7 Март 15, 2013 13:22:38

Loki
Зарегистрирован: 2013-03-13
Сообщения: 28
Репутация: +  4  -
Профиль   Отправить e-mail  

помогите справиться с написанием кода

Воспользуйтесь IDLE, это по сути та же консоль только с более дружественным интерфейсом,
мне кажется на время ознакомления с языком само то.
Найдете в меню пуск/все программы если у вас win.
Для создания нового модуля File/New Window, или просто создайте тектовый файл и смените
расширение на *.py.
А ошибка у Вас из-за того, что Вы пытаетесь в точности скопировать код, приведенныйFishHook, в окне консоли, а работа в консоле отличается от
работы в модуле.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version