Бағдарлама пайдаланушылардың әрекет журналын өңдейді:
log = ["u1:10", "u2:25", "u1:5", "u3:40", "u2:5", "u1:20"]
total = {}
for rec in log:
name, val = rec.split(":")
total[name] = total.get(name, 0) + int(val)
top = sorted(total.items(), key=lambda p: (-p[1], p[0]))
total[name] = total.get(name, 0) + int(val) жолы total[name] += int(val) жолымен ауыстырылды. Бағдарламаның жұмысы қалай өзгереді?
Дұрыс жауабы мен түсіндірмесі
Жауабы: Бірінші жазбаны өңдеу кезінде KeyError шығады
total бос сөздік, 'u1' кілті жоқ: += алдымен total['u1'] мәнін оқиды, сондықтан бірінші итерацияда KeyError.
«Алгоритмдер және программалау» тақырыбынан тағы
- «abacabaabacab» үлгісі үшін Кнут–Моррис–Пратт алгоритмінің префикс-функциясы былай анықталады: π[i] — үлгінің...
- Массив [6, 2, 9, 4, 7, 1, 8] бинарлы үйінді (max-heap) ретінде сол массивтің өзінде түрлендіріледі: i түйіннің...
- Шелл сұрыптауы [23, 9, 15, 4, 31, 12, 7, 18, 2] массивіне қолданылады. Қадамдар тізбегі: 3, 1. Қадамы 3 болаты...
- run("5 2 *") орындалып, содан кейін print(run("3 +"), st) шақырылады. Нәтиже қандай?
- Тапсырмалар арасындағы тәуелділіктер (X→Y — X тапсырмасы Y-тен бұрын орындалуы тиіс): D→A, E→B, A→C, B→C, C→F,...
- Бинарлы ағаштың түбірден бастап тік (preorder) жүру реті: M D B A C H F K T R W, ал симметриялық (inorder) жүр...
- xⁿ дәрежесін екілік жазу бойынша солдан оңға (square-and-multiply) есептеу алгоритмінде n = 37 болғанда қанша...
- Функция берілген: def c(n, k): if k == 0 or k == n: return 1 return c(n - 1, k - 1) + c(n - 1, k) c(6, 3) шақы...