@python_beginnersЭта группа больше не существует

Страница 945 из 1885
b0g3r
18.12.2016
21:13:56
1 тест почти всегда данные из примера

Кстати говоря

Denis
18.12.2016
21:14:12
Нет, в тесте все верно

Vhfh Huh G
18.12.2016
21:14:19
При равенстве результатов более высокое место занимает участник, раньше показавший лучший результат

Google
Vhfh Huh G
18.12.2016
21:14:26
вот это мне нужно в коде предусмотреь

хз как

Victor
18.12.2016
21:14:54
Не подскажите где задачки найти можно?
https://checkio.org/ — задачи чисто под питон, очень интересные + можно посмотреть как делают крутые парни https://www.codewars.com — хорошие алгоритмические задачи https://www.codingame.com/ — весёлые задачи, чаще всего, нужно писать не только рабочий, но и "быстрый" алгоритм

Vhfh Huh G
18.12.2016
21:15:53
Victor
18.12.2016
21:15:56
Можешь подключить OrderedDict

from collections import OrderedDict

Igor
18.12.2016
21:16:07
list. ordered dict.

Vhfh Huh G
18.12.2016
21:16:10
и чё эт?

Igor
18.12.2016
21:16:33
эт структура данных, которая сохраняет порядок.

Victor
18.12.2016
21:17:14
Я бы вообще использовал здесь PriorityQueue

Denis
18.12.2016
21:17:31
А я бы тут использовал кучу Фибоначчи

Vhfh Huh G
18.12.2016
21:17:48
Google
Igor
18.12.2016
21:17:54
а я бы послал все нахуй и выспался перед рабочим днем

Denis
18.12.2016
21:18:04
А у меня завтра выходной

Igor
18.12.2016
21:19:11
Всё или всех?
всё. люди-то тут причем

b0g3r
18.12.2016
21:19:24
Ну не знаю

Я бы может и всех)

Igor
18.12.2016
21:19:37
подумаешь, котик факи показывает.

Victor
18.12.2016
21:19:37
Igor
18.12.2016
21:19:50
люблю людей. <3

Denis
18.12.2016
21:19:56
Спасибо? Ну ок

Ее знание тебе в жизни никак не поможет

Stanislav
18.12.2016
21:20:24
люблю людей. <3
Прочитал "детей", лол

Igor
18.12.2016
21:20:44
Denis
18.12.2016
21:21:30
Почему?
Потому что она крайне тормознутая и сложная в реализации

Vhfh Huh G
18.12.2016
21:22:40
a = OrderedDict() так же делать?

чтобы создать?

Igor
18.12.2016
21:23:11
+

Vhfh Huh G
18.12.2016
21:23:57
ну все равно хуйня выходит

Google
Igor
18.12.2016
21:24:44
а ты уверен, что порядок тот, что надо?

Vhfh Huh G
18.12.2016
21:24:52
всмысле?

Igor
18.12.2016
21:25:00
в прямом

При равенстве результатов более высокое место занимает участник, раньше показавший лучший результат

вот это мне нужно в коде предусмотреь

хз как

Vhfh Huh G
18.12.2016
21:25:48
в прямом
ну если мы упорядочный словарь используем, то это же должно учитываться, не?

Igor
18.12.2016
21:26:36
откуда упорядоченному словарю знать, какой порядок тебе нужен

Vhfh Huh G
18.12.2016
21:28:06
входные

он их запоминает так

Igor
18.12.2016
21:28:55
покажи содержимое словаря

Denis
18.12.2016
21:29:43
Я бы сделал тройки вида (-балл, номер, имя) и отсортил их

Igor
18.12.2016
21:30:17
+++

список из кортежей и sorted с параметром key

Igor
18.12.2016
21:34:48
[("имя", балл, место), ("имя", балл, место)]

results.append((”имя", балл, место))

Denis
18.12.2016
21:36:30
Может, (-балл, место, имя) ?

Igor
18.12.2016
21:36:40
results_by_name = sorted(results, key=lambda x: x[0])

Google
Сергей
18.12.2016
21:36:59
что то я залип

if y in a and a[y]<x: a[y]=x elif y not in a: a[y]=x

Igor
18.12.2016
21:37:08
Может, (-балл, место, имя) ?
тебе лучше знать, я для наглядности лишь пример даю

Сергей
18.12.2016
21:37:09
вот зачем нужен этот кусок?

Igor
18.12.2016
21:38:12
if y in a and a[y]<x: a[y]=x elif y not in a: a[y]=x
хранить максимальное значение x для каждого y

Сергей
18.12.2016
21:38:28
но ведь выполняется один и тот же код

a[y]=x

Igor
18.12.2016
21:39:20
да, можно написать проще, if y in a and a[y]<x or y not in a

Сергей
18.12.2016
21:40:32
в противном случае не выполнится этот кусок.

понятно)

Admin
ERROR: S client not available

Igor
18.12.2016
21:41:51
Vhfh Huh G
18.12.2016
21:50:06
прикиньте

решил

всего лишь одно условия изменил

Сергей
18.12.2016
21:51:06
прикинь

я твою прогу тестил сейчас

и что то не пойму, чего тебе в ней не понравилось

что не так?

n = int(input()) a = {} for i in range(n): x,y=input().split() x=int(x) if y in a and a[y]<x: a[y]=x elif y not in a: a[y]=x for i in range(1,4): m1=0 k1=0 for key in a: if m1<a[key]: m1=a[key] k1=key print(str(i)+' place. '+ str(k1) +'('+str(m1)+')') if k1 in a: del a[k1]

Google
Сергей
18.12.2016
21:52:16
решил
что ты решил, она у тебя полностью рабочая

Vhfh Huh G
18.12.2016
21:53:09
я твою прогу тестил сейчас
9 69485 Jack 95715 qwerty 95715 Alex 83647 M 197128 qwerty 95715 Jack 93289 Alex 95715 Alex 95710 M

при этих значениях какой у тебя ответ?

Сергей
18.12.2016
21:56:00
У тебя Alex-а должно вывести на второе место в таком случае?

Alex
18.12.2016
21:57:33
имхо на втором месте должен быть Alex

Сергей
18.12.2016
21:58:02
Потому что он первым показал такой результат.

Я понял.

Vhfh Huh G
18.12.2016
22:00:36
прога тупит, когда одинаковые значения

я не могу норм так сделать

Сергей
18.12.2016
22:09:58
к утру чего нибудь соображу

голова не варит сори

я вижу прямо сейчас один вариант

не записывать данные если они равны или меньше тех, которые существуют, такой вариант будет работать

но думаю это не то что тебе нужно

ладно всем гуднайт

Vhfh Huh G
18.12.2016
23:35:57
как отсортировать словарь по его значением?

from collections import OrderedDict n = int(input()) a = OrderedDict() for i in range(n): x=input() if x not in a: a[x]=1 elif x in a: a[x]+=1

хочу дальше отстортировать по значениею и вывести в порядке убывания

как?

Denis
19.12.2016
00:10:16
sorted

Страница 945 из 1885

Эта группа больше не существует Эта группа больше не существует