Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 3, 2021 09:50:43

alex137
Зарегистрирован: 2021-02-03
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

сортировка массива

Хотелось бы понять, корректно ли сформулирована задача? (смущают входные данные)

Прикреплённый файлы:
attachment Снимок.PNG (39,9 KБ)

Офлайн

#2 Фев. 3, 2021 11:41:30

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

сортировка массива

alex137
(смущают входные данные)
По условиям там должен быть словарь, а тут множество множеств. Не уверен что такая конструкция вообще сработает, скорее всего пайтон такое даже не скушает. Наверно входные данные должны быть в виде:
 {'A':5,'B':2,'C':13...}



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Фев. 3, 2021 11:41:59)

Офлайн

#3 Фев. 3, 2021 11:50:29

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

сортировка массива

alex137
смущают входные данные
Должно быть так
  
{'A': 5, 'B': 2, 'C': 13, 'D': 11, 'E': 4}
Что в задании написано, под питон точно не подходит, хотя и выглядит понятно. И под математику тоже не подходит.
В питоне фигурные скобки означают “множество”, в нём элементы не упорядочены, поэтому нет первых элементов и вторых.
В математике фигурные скобки означают множество, в нём элементы не упорядочены.
А упорядоченные элементы в кортеже. Кортеж обозначается круглыми скобками как в питоне, так и в математике.

Математическое неупорядоченное множество упорядоченных пар, где каждая пара - кортеж из двух элементов
{(A, 5), (B, 2), (C, 13), (D, 11), (E, 4)}

Питоновское множество кортежей из двух элементов (первые элементы - строки, хотя могут быть и просто переменными)
{('A', 5), ('B', 2), ('C', 13), ('D', 11), ('E', 4)}
Так тоже можно сделать
  
>>> A, B, C, D, E = '111', '222', '333', '444', '555'
>>> 
>>> data = {(A, 5), (B, 2), (C, 13), (D, 11), (E, 4)}
>>> data
{('111', 5), ('444', 11), ('222', 2), ('555', 4), ('333', 13)}
>>>
Но тут порядка нет во множестве, поэтому выводит всё в другом порядке.

Хотя в Erlang'е можно кортежи задавать через фигурные скобки, а у кортежей всегда есть порядок
1> Tup1 = {{'A', 5}, {'B', 2}, {'C', 13}, {'D', 11}, {'E', 4}}.
{{'A',5},{'B',2},{'C',13},{'D',11},{'E',4}}
2>
2> Tup2 = {{a, 5}, {b, 2}, {c, 13}, {d, 11}, {e, 4}}.
{{a,5},{b,2},{c,13},{d,11},{e,4}}
3>
3> {Tup1, Tup2}.
{{{'A',5},{'B',2},{'C',13},{'D',11},{'E',4}},
{{a,5},{b,2},{c,13},{d,11},{e,4}}}
4>



Отредактировано py.user.next (Фев. 3, 2021 12:01:25)

Офлайн

#4 Фев. 3, 2021 13:47:44

alex137
Зарегистрирован: 2021-02-03
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

сортировка массива

Если исходить из того, что словарь неправильно определен и должно быть {'A': 5, ‘B’: 2, ‘C’: 13, ‘D’: 11, ‘E’: 4}. То как выполнить вторую часть задачи про кэширование?

Офлайн

#5 Фев. 7, 2021 12:46:21

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

сортировка массива

alex137
То как выполнить вторую часть задачи про кэширование?
кеширование - хранение данных(обычно частоиспользуэмых) в памяти(кеше). Тоесть вы должны гдето внутри класса хранить рейтинг последнего словаря, с указанием собственно какому словарю принадлежит этот рейтинг(или както вести нумерацию чтобы понимать последний это словарь или нет). А при запросе рейтинга, оно должно смотреть если рейтинг принадледит этому словарю возвращать его из кеша, иначе вычислять и возвращать вычисленое значени.
Как вы это должны реалзовать ХЗ, так как задача чисто учебная, там могут быть ограничения по использованию тех или иных модулей, или вы могли еще не проходить нужную тему.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Фев. 7, 2021 12:51:57)

Офлайн

#6 Фев. 11, 2021 13:31:56

rumactep
Зарегистрирован: 2021-02-11
Сообщения: 14
Репутация: +  1  -
Профиль   Отправить e-mail  

сортировка массива

можно с нятяжкой сказать, что сойдет.
в класс помещают словарь, который сохраняется в классе, при этом просматривается каждый элемент и считается среднее, которое и хранится в классе и выдается безе последующего пересчета. При помещении в класс нового словаря высчитвввывется среднее, соотвествующее новому словарю.

Офлайн

#7 Фев. 12, 2021 18:37:25

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2843
Репутация: +  186  -
Профиль   Отправить e-mail  

сортировка массива

Не сойдёт! Классы для этих целей использовать не нужно.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version