ó
    úˆ\æ  ã                   ó    • S r Sr " S S5      rg)é    é   c                   óJ   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)ÚMarathoné   c                 ó0   • [        5       U l        / U l        g)z
Set up an empty Marathon
N)ÚdictÚrunnerToPlaceÚlistOfRunnerTime©Úselfs    Úi/homepages/33/d289733084/htdocs/OU/M269/M269TutorialNotes/M269TutorialUnits345/M269Prsntn2017JMarathon.pyÚ__init__ÚMarathon.__init__   s   € ô ›€DÔØ€DÕó    c                 ó   • XR                   ;   $ )z8
Return True if runner has registered, 
otherwise False
©r	   ©r   Úrunners     r   Ú
registeredÚMarathon.registered   s   € ð
 ×'Ñ'Ñ'Ð'r   c                 ó,   • [        U R                  5      $ )z#
Return number of finishers so far
)Úlenr
   r   s    r   Ú	finishersÚMarathon.finishers$   s   € ô ˆt×$Ñ$Ó%Ð%r   c                 ó&   • U R                   U   S:„  $ )zU
Return True if runner has finished
otherwise False
Assume the runner has registered
r   r   r   s     r   ÚfinishedÚMarathon.finished*   s   € ð ×Ñ˜fÑ%¨Ñ)Ð)r   c                 óž   • [        U R                  5       5       H!  nU R                  U   [           U:”  d  M  Us  $    U R                  5       $ )z[
Return how many runners finished
in given time or less
Assume the unit of time is seconds
)Úranger   r
   Ú	TIMEINDEX)r   ÚtimeÚindexs      r   ÚfinishersUpToÚMarathon.finishersUpTo4   sF   € ô �t—~‘~Ó'Ö(ˆØ	×	Ñ	˜uÑ	%¤iÑ	0°4Õ	7ØŠñ )ð �>‰>ÓÐr   c                 ó    • U R                   U   $ )z9
Return place the runner finished
Assume runner finished
r   r   s     r   ÚplaceÚMarathon.place@   s   € ð
 ×Ñ˜fÑ%Ð%r   c                 ó4   • U R                   US-
     [           $ )zM
Return name of runner in given place
Assume place corresponds to a finisher
r   )r
   Ú	NAMEINDEX)r   r&   s     r   ÚnameÚMarathon.nameG   s   € ð
 × Ñ  ¨¡Ñ+¬IÑ6Ð6r   c                 ó"   • SU R                   U'   g)zN
Register the runner
Returns nothing
Assumes the runner is not yet registered
r   Nr   r   s     r   ÚregisterÚMarathon.registerR   s   € ð "#€D×Ñ�vÒr   c                 ó~   • U R                  5       S-   nU R                  R                  X45        X0R                  U'   g)z‚
Record that the runner finished in given time
Return nothing
Assume the unit of time is seconds
Assume the runner has registered
r   N)r   r
   Úappendr	   )r   r   r!   r&   s       r   ÚfinishÚMarathon.finish[   s9   € ð �N‰NÓ˜qÑ €EØ×Ñ× Ñ  & Ô0Ø!&×Ñ�vÒr   )r
   r	   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r   r#   r&   r*   r-   r1   Ú__static_attributes__© r   r   r   r      s/   † ò
ò(ò&ò*ò
ò&ò7ò#õ	'r   r   N)r)   r    r   r8   r   r   Ú<module>r9      s   ðð €	Ø€	÷X'ò X'r   