Информатика · ҰБТ сұрағы №16270
Бағдарлама оқушылардың нәтижелері бар мәтінді өңдейді: raw = "name,score,city\nAru,78,Astana\nBek,91,Almaty\nDana,85,Astana\nErlan,,Shymkent\nGul,64,Almaty\nHana,60,Almaty" lines = raw.split("\n") head = lines[0].split(",") rows = [dict(zip(head, ln.split(","))) for ln in lines[1:]] by_city = {} for r in rows: if r["score"]: by_city.setdefault(r["city"], []).append(int(r["score"]))

print([r["name"] for r in sorted(rows, key=lambda r: int(r["score"] or 0), reverse=True)[:3]]) қандай нәтиже береді?

Дұрыс жауабы мен түсіндірмесі
Жауабы: ['Bek', 'Dana', 'Aru']

Бос score «or 0» арқылы 0 болады. Кему ретімен: Bek 91, Dana 85, Aru 78, ...; Erlan (0) соңында.

«Python программалау тілінде алгоритмдерді программалау» тақырыбынан тағы