Rudimentary timer functionality: No buttons version for Android.
"""Z Timer. The interval time can be entered or measured. Interval times can be displayed. Expressions can be entered (eg 3*60 for minutes). Note that Numworks has limited io, so there is no easy way to stop a running timer. This module aims to provide practical results. Version 0.01: Rudimentary text display """ __version__="0.1" from time import * zt="Z Timer "+__version__ crid=zt+"\n© 2024 SteveG1CMZ"; #customise OK="[OK|EXE]" #platform-specific #end custom disclaimer="No liability accepted" stduration="duration_s:" stinterval="Interval_s:" stmeasure="[0:measure]" stremaining="......._s:" p0=OK+"[s]: start" p1=OK+": stop" def about(): """ Accuracy analysis: Timing of keypresses are rounded to ms. """ print(disclaimer) def display_interval_s(time_s): """ display seconds since started and remaining. """ s=0 while time_s>0: sleep(1) time_s=time_s-1 s=s+1 print(stduration,s,stremaining,time_s) #if buttons existed we could return duration return s def measure_interval_s(prompt0,prompt1): """Measure an interval (s). Accessibility: Seconds can be entered. """ x=input(prompt0) if x=="": t=monotonic() x=input(prompt1) t=monotonic()-t t=round(t,3) #round key io to ms else: t=eval(x) #numerical expression return t def ask_display_interval(s): if s==0: s=float(input(stduration)) t=display_interval_s(s) print(stinterval,t,"s") def ask_measure_interval(stinterval,p0,p1): print(stinterval) t=measure_interval_s(p0,p1) print(t,"s") def examples(): display_interval_s(30) ask_display_interval(0) ask_measure_interval(stinterval,p0,p1) if __name__=="__main__" or True: print(crid) examples()