1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import re import sys import time def minutes(timestr): """Return number of minutes in timestr that must be either ##:## or #:##.""" m = re.match(r"(\d?\d):(\d\d)$", timestr) if m is None: raise ValueError("Invalid timestr: %r" % (timestr,)) h, m = map(int, m.groups()) return 60*h + m def minutes2(timestr): h, m = map(int, timestr.partition(':')[::2]) return 60*h + m def minutes3(timestr): t = time.strptime(timestr, "%H:%M") return 60*t.tm_hour + t.tm_min for timestr in sys.stdin: timestr = timestr.rstrip('\n') for f in [minutes, minutes2, minutes3]: try: result = f(timestr) except ValueError as e: print("%-8s(%5r) -> error: %s" % (f.__name__, timestr, e)) else: print("%-8s(%5r) -> %s" % (f.__name__, timestr, result)) |
aW1wb3J0IHJlCmltcG9ydCBzeXMKaW1wb3J0IHRpbWUKCmRlZiBtaW51dGVzKHRpbWVzdHIpOgogICAgIiIiUmV0dXJuIG51bWJlciBvZiBtaW51dGVzIGluIHRpbWVzdHIgdGhhdCBtdXN0IGJlIGVpdGhlciAjIzojIyBvciAjOiMjLiIiIgogICAgbSA9IHJlLm1hdGNoKHIiKFxkP1xkKTooXGRcZCkkIiwgdGltZXN0cikKICAgIGlmIG0gaXMgTm9uZToKICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkludmFsaWQgdGltZXN0cjogJXIiICUgKHRpbWVzdHIsKSkKICAgIGgsIG0gPSBtYXAoaW50LCBtLmdyb3VwcygpKQogICAgcmV0dXJuIDYwKmggKyBtCgpkZWYgbWludXRlczIodGltZXN0cik6CiAgICBoLCBtID0gbWFwKGludCwgdGltZXN0ci5wYXJ0aXRpb24oJzonKVs6OjJdKQogICAgcmV0dXJuIDYwKmggKyBtCgpkZWYgbWludXRlczModGltZXN0cik6CiAgICB0ID0gdGltZS5zdHJwdGltZSh0aW1lc3RyLCAiJUg6JU0iKQogICAgcmV0dXJuIDYwKnQudG1faG91ciArIHQudG1fbWluCgoKZm9yIHRpbWVzdHIgaW4gc3lzLnN0ZGluOgogICAgdGltZXN0ciA9IHRpbWVzdHIucnN0cmlwKCdcbicpCiAgICBmb3IgZiBpbiBbbWludXRlcywgbWludXRlczIsIG1pbnV0ZXMzXToKICAgICAgICB0cnk6CiAgICAgICAgICAgIHJlc3VsdCA9IGYodGltZXN0cikKICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBlOgogICAgICAgICAgICBwcmludCgiJS04cyglNXIpIC0+IGVycm9yOiAlcyIgJSAoZi5fX25hbWVfXywgdGltZXN0ciwgZSkpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcHJpbnQoIiUtOHMoJTVyKSAtPiAlcyIgJSAoZi5fX25hbWVfXywgdGltZXN0ciwgcmVzdWx0KSk=
-
upload with new input
-
result: Success time: 0.03s memory: 6000 kB returned value: 0
012:11
minutes ('012:11') -> error: Invalid timestr: '012:11' minutes2('012:11') -> 731 minutes3('012:11') -> error: time data '012:11' does not match format '%H:%M' -
result: Success time: 0.03s memory: 6000 kB returned value: 0
12:11 12:11 12:11 3:45 03:45 13:4 13:04 24:00 11:60
minutes ('12:11') -> 731 minutes2('12:11') -> 731 minutes3('12:11') -> 731 minutes (' 12:11') -> error: Invalid timestr: ' 12:11' minutes2(' 12:11') -> 731 minutes3(' 12:11') -> error: time data ' 12:11' does not match format '%H:%M' minutes ('12:11 ') -> error: Invalid timestr: '12:11 ' minutes2('12:11 ') -> 731 minutes3('12:11 ') -> error: unconverted data remains: minutes ('3:45') -> 225 minutes2('3:45') -> 225 minutes3('3:45') -> 225 minutes ('03:45') -> 225 minutes2('03:45') -> 225 minutes3('03:45') -> 225 minutes ('13:4') -> error: Invalid timestr: '13:4' minutes2('13:4') -> 784 minutes3('13:4') -> 784 minutes ('13:04') -> 784 minutes2('13:04') -> 784 minutes3('13:04') -> 784 minutes ('24:00') -> 1440 minutes2('24:00') -> 1440 minutes3('24:00') -> error: time data '24:00' does not match format '%H:%M' minutes ('11:60') -> 720 minutes2('11:60') -> 720 minutes3('11:60') -> error: unconverted data remains: 0


