fork(1) download
  1. # zmienne
  2. wyniki, koniec = [], []
  3. czasbrutto, delay = "", ""
  4.  
  5. # ilu zawodników
  6. t = int(input())
  7.  
  8. # input do tablicy WYNIKI
  9. for i in range(t):
  10. wyniki.append(input())
  11.  
  12. for i in wyniki:
  13.  
  14. # zmienne tymczasowe
  15. name = ""
  16. liczba = ""
  17. tabczasbrutto = []
  18. tabdelay = []
  19.  
  20. # Oddzielanie danych
  21. for j in i:
  22. if j.isalpha() or j == " ":
  23. name += j # wyciąganie liter
  24. else:
  25. liczba += j # wyciąganie liczb
  26.  
  27. # Rozdzielanie czasów
  28. czasbrutto = liczba[:8] # czas brutto do stringa
  29. delay = liczba[8::] # delay do stringa
  30.  
  31. # string CZASBRUTTO -> tab TABCZASBRUTTO
  32. tabczasbrutto.append(czasbrutto[0:2:])
  33. tabczasbrutto.append(czasbrutto[3:5:])
  34. tabczasbrutto.append(czasbrutto[6:8:])
  35.  
  36. # string DELAY -> tab TABDELAY
  37. tabdelay.append(delay[0:2])
  38. tabdelay.append(delay[3:5])
  39.  
  40. # przerabianie tablic na inty
  41. tabczasbrutto = [int(x) for x in tabczasbrutto]
  42. tabdelay = [int(x) for x in tabdelay]
  43.  
  44. if tabczasbrutto[2] >= tabdelay[1]: #jezeli sekundy w czasie sa wieksze niz sekundy w opoznieniu
  45. tabczasbrutto[2] -= tabdelay[1] #odejmuj opoznienie od sekund w czasie
  46. else:
  47. tabdelay[1] -= tabczasbrutto[2] #jezeli nie, odejmij sekundy w czasie od sek w opoznieniu
  48. tabczasbrutto[2] = 60 - tabdelay[1] #i wynik od 60, wyjda sekundy w wyniku
  49. if tabczasbrutto[1] >= 1: #jezeli sekundy w czasie brutto sa wieksze niz 1
  50. tabczasbrutto[1] -= 1 #odejmij jeden
  51. else:
  52. tabczasbrutto[1] = 60 - tabdelay[1] #jezeli nie odejmij od 60
  53. tabczasbrutto[0] -= 1 #i odejmij godzine
  54.  
  55. if tabczasbrutto[1] >= tabdelay[0]: #jezeli minuty w czasie sa wieksze niz minuty w opoznieniu
  56. tabczasbrutto[1] -= tabdelay[0] #odejmuj opoznienie od minut w czasie
  57. else:
  58. tabdelay[0] -= tabczasbrutto[1] #jezeli nie, odejmij minuty w czasie od minut w opoznieniu
  59. tabczasbrutto[1] = 60 - tabdelay[0] #i wynik od 60, wyjda sekundy w wyniku
  60. if tabczasbrutto[0] >= 1: #jezeli sekundy w czasie brutto sa wieksze niz 1
  61. tabczasbrutto[0] -= 1 #odejmij jeden
  62.  
  63. # i zapisywanie go jako czas netto
  64. czasnetto = str(tabczasbrutto[0]).zfill(2) + ":" + str(tabczasbrutto[1]).zfill(2) + ":" + str(tabczasbrutto[2]).zfill(
  65. 2) # dwa miejsca
  66.  
  67. # formatowanie wyników
  68. zmienna = name.replace(" ", ""), czasnetto, czasbrutto
  69.  
  70. # zapisywanie wyników
  71. koniec.append(zmienna)
  72.  
  73. # sortowanie wyników alfabetycznie
  74. koniec.sort()
  75.  
  76. # sortowanie wyników według czasu
  77. z = 1
  78. for i in sorted(koniec, key=lambda zawodnik: zawodnik[1]): # według czasów
  79. # output
  80. print(z, i[0], i[1], i[2])
  81. z += 1
Runtime error #stdin #stdout #stderr 0.04s 9668KB
stdin
1
Morda Przemyslaw 2:05:05 59:59
stdout
Standard output is empty
stderr
Traceback (most recent call last):
  File "./prog.py", line 41, in <module>
  File "./prog.py", line 41, in <listcomp>
ValueError: invalid literal for int() with base 10: '2:'