Информатика · ҰБТ сұрағы №16268
Бағдарлама оқушылардың нәтижелері бар мәтінді өңдейді: 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(max(by_city, key=lambda c: sum(by_city[c]) / len(by_city[c]))) қандай мән шығарады?

Дұрыс жауабы мен түсіндірмесі
Жауабы: Astana

Орташа: Astana (78 + 85)/2 = 81,5; Almaty (91 + 64 + 60)/3 ≈ 71,7. Қосындымен салыстырғанда Almaty (215) жеңер еді.

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