Rezultati

Up. imeNalogaJezikRezultatČas oddaje
gunicorni-2018 Podnapisi Python 3 100/100OK 10. maj '18 @ 19:26

Test Točke Porabljen spomin Porabljen čas Status
#1 7/7 8,789 MiB 0,000 s OK
#2 7/7 9,016 MiB 0,000 s OK
#3 7/7 8,672 MiB 0,000 s OK
#4 7/7 9,398 MiB 0,000 s OK
#5 7/7 8,668 MiB 0,000 s OK
#6 7/7 8,656 MiB 0,000 s OK
#7 7/7 8,652 MiB 0,000 s OK
#8 7/7 8,570 MiB 0,000 s OK
#9 7/7 8,672 MiB 0,000 s OK
#10 7/7 9,324 MiB 0,000 s OK
#11 7/7 8,617 MiB 0,000 s OK
#12 7/7 8,863 MiB 0,000 s OK
#13 8/8 8,801 MiB 0,000 s OK
#14 8/8 8,672 MiB 0,000 s OK

Ocenjevani program (Podnapisi.py):
import sys

def preberiVrstico(vr):
    return vr.strip()


vhod = sys.stdin.readlines()

def razberiZamik(zamik, prviZamik=False):
    '''Pridobi zamik ur, minut in sekund.'''
    i = 0
    if prviZamik:
        i += 1
    sezZamikov = zamik.strip().split(':')
    zamikUre = int(sezZamikov[i])
    zamikMinute = int(sezZamikov[i+1])
    zamikSekunde = float(sezZamikov[i+2].replace(',','.'))
    return (zamikUre, zamikMinute, zamikSekunde)

def pristejCas(u, m, s, uZ, mZ, sZ):
    '''Prišteje čas podnapisa in zamika.'''
    vseSekunde = s + sZ
    sekunde = round(vseSekunde % 60,3)
    minuteOdSekund = round(vseSekunde // 60)
    vseMinute = m + mZ + minuteOdSekund
    minute = round(vseMinute % 60)
    ureOdMinut = round(vseMinute // 60)
    ure = u + uZ + ureOdMinut
    return (ure, minute, sekunde)

def zapis(u, m, s):
    sekunde, milisekunde = (str(s).split('.'))
    if len(sekunde) == 1:
        sekunde = '0' + sekunde
    if len(milisekunde) == 1:
        milisekunde += '00'
    elif len(milisekunde) == 2:
        milisekunde += '0'
    m = str(m)
    if len(m) == 1:
        m = '0' + m
    u = str(u)
    if len(u) == 1:
        u = '0' + u
    return ':'.join([u, m, ','.join([sekunde, milisekunde])])


def preurediCas(vr):
    '''Preuredimo vrstico s časom tako, da dobimo pravi čas.'''
    zaPrintat = []
    for casPodnapisa in vr.split('-->'):
        prvotni = razberiZamik(casPodnapisa)
        vsiCasi = prvotni + zamikPodnapisov
        zaPrintat.append(zapis(*pristejCas(*vsiCasi)))
    print(zaPrintat[0], '-->', zaPrintat[1])



zamik = vhod[0]

zamikPodnapisov = razberiZamik(zamik, True)

prazna = True
stevilo = False
for vr in vhod[1:]:
    if len(vr.strip()) == 0:
        prazna = True
        print(vr, end='')
    elif vr.strip().isalnum():
        stevilo = True
        print(vr, end='')
    elif len(vr.strip()) == 29 and '-->' in vr and prazna and stevilo:
        preurediCas(vr)
        prazna = False
        stevilo = False
    else:
        print(vr, end='')
        prazna = False
        stevilo = False