Прескочи на главни садржај
🔒 Режим прегледа. Првих петнаест Foundations лекција је бесплатно; ова је Pro. Покрените 7-дневни trial да откључате едитор, AI савете и остатак курса. Картица је обавезна, можете отказати у било ком тренутку у Dashboard.Покрени 7-дневни trial →
← KurseviSystem Design for Python JuniorsМодул 1 · Основе пројектовања системаСхардинг (хоризонтална партиција)predict8 / 105
+100 XP
Zadatak
📝 **Задатак:** Предвидите излаз од 5 редова: прва 4 реда показују шард: рачунајте за делове 0..3 у распореду са 4 делића, затим се један ред спојених зарезима помера након поновног дељења на 5 делова. 📋 Имплементирајте горњу функцију. Тестови се покрећу аутоматски. 💡 **Савет:** Поново прочитајте теорију ако запнете.
Predvidi izlaz

Pažljivo pročitaj kod

from collections import Counter

USERS = ["u1", "u2", "u3", "u4", "u5", "u6", "u7", "u8"]

def shard_for(uid, n):
    return sum(ord(c) for c in uid) % n

def distribution(users, n):
    return Counter(shard_for(u, n) for u in users)

# 4-shard layout — print one line per shard.
d4 = distribution(USERS, 4)
for s in range(4):
    print(f"shard{s}:{d4[s]}")

# Re-shard to 5: how many users HOP to a different bucket?
moved = [u for u in USERS if shard_for(u, 4) != shard_for(u, 5)]
print("moved:" + ",".join(moved))

# What does this print? Type your prediction.

Šta će program ispisati? Napiši ovde:

💬 Diskusija

Budi prvi — postavi pitanje ili podeli savet.
Prijavi se da bi se pridružio diskusiji. Čitanje je besplatno.
Učitavanje diskusije…