URLji

URL je sestavljen iz imena protokola, naslova strežnika in poti na strežniku. Ime protokola je beseda sestavljena iz črk in števk, ki ji sledi dvopičje (http:, https:, ftp: ali kaj podobnega). Imenu protokola sledita dve poševnici. V naslovu strežnika ni poševnic. Pot se, če ni prazna, začne s poševnico. Celoten URL je torej tak: protokol://strežnik/pot ali protokol://strežnik/ ali protokol://strežnik.

Napiši funkcijo razbijURL(u), ki prejme URL u in kot rezultat vrne ime protokola, naslov strežnika in pot.

print(razbijURL("https://ucilnica.fri.uni-lj.si/course/view.php?id=166"))
('https', 'ucilnica.fri.uni-lj.si', 'course/view.php?id=166')
Rešitev
def razbijURL(u):
    protokol, naslov = u.split("://")
    kosi = naslov.split("/")
    return protokol, kosi[0], "/".join(kosi[1:])

Avtobusi

Napiši funkcijo naslednji_avtobus(prihodi), ki dobi seznam prihodov avtobusov (v številu minut od tega trenutka) in vrne "številko" (npr. "1" ali "6b") avtobusa, ki bo prišel prvi. Če je za več avtobusov napovedan isti čas do prihoda, naj vrne tistega z nižjo številko (a pazite: avtobus 2 ima nižjo številko od avtobusa 11, prav tako ima avtobus 6b nižjo številko od 11). Prihodi avtobusov so podani kot slovar, katerega ključi so "številke" avtobusov ("1", "6b"...), vrednosti pa seznami napovedanih časov do prihoda. Časi niso nujno urejeni po velikosti. Številke avtobusov so naravna števila, ki imajo lahko dodano še eno črko. Primerov, kjer vozi več avtobusov, ki se razlikujejo samo v črki, ne bo.

print(naslednji_avtobus({"1": [5, 7], "2": [11, 3, 18], "6b": [3, 7]}))
2
Rešitev
def naslednji_avtobus(prihodi):
    kdaj = 24*60
    for avtobus, minute in prihodi.items():
        stev = int(avtobus if avtobus[-1].isdigit() else avtobus[:-1])
        minute = min(minute)
        if minute < kdaj or (minute==kdaj and stev
Zadnja sprememba: četrtek, 11. januar 2024, 08.42