Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何制作一个具有两个功能的计时器,一个用于计时,一个用于超时_Python_Timer - Fatal编程技术网

Python 如何制作一个具有两个功能的计时器,一个用于计时,一个用于超时

Python 如何制作一个具有两个功能的计时器,一个用于计时,一个用于超时,python,timer,Python,Timer,我想让员工在工作开始时打卡上班,在工作结束时打卡下班。最好的方法是什么?使用我的方法,计时器似乎在所有输出0上都不计数 import time from datetime import datetime def time_in(employee_id): time_in = datetime.now().strftime("%d/%m/%Y on %H:%M:%S") print(f"""Employee ID:{emplo

我想让员工在工作开始时打卡上班,在工作结束时打卡下班。最好的方法是什么?使用我的方法,计时器似乎在所有输出0上都不计数

import time
from datetime import datetime


def time_in(employee_id): 
    time_in = datetime.now().strftime("%d/%m/%Y on %H:%M:%S")
    print(f"""Employee ID:{employee_id}
You have logged in on {time_in}
          """)
    start = time.time()
    return start, employee_id
    


x,y = time_in(123)


def time_out(start, employee_id):
    stop = time.time()
    seconds_worked = stop - start
    ty_res = time.gmtime(seconds_worked)
    time_worked = time.strftime("%H:%M:%S",ty_res)
    time_out = datetime.now().strftime("%d/%m/%Y on %H:%M:%S")
    print(f"""Employee ID:{employee_id}
You have logged out on {time_out}""")

    return time_worked, employee_id


print(time_out(x, y))

while True:
    user = input("""what is your action:
'in' for time in
'out' for time out
'quit' to quit
""")
    if user == 'in':
        eid = input('employee id: ')
        time_in(eid)
    elif user == 'out':
        eid = input('employee id: ')
        x,y = time_in(int(eid))
        print(time_out(x,y))
    elif user == "quit":
        break

    

此代码使时间为零:

    elif user == 'out':
        eid = input('employee id: ')
        x,y = time_in(int(eid))
        print(time_out(x,y))
在超时()之前注册一个timein()。这将导致不到一秒钟的时间(实际上为0)

而是使用以下代码:

    if user == 'in':
        eid = input('employee id: ')
        x,y = time_in(int(eid))
    elif user == 'out':
        eid = input('employee id: ')
        print(time_out(x,y))
    elif user == "quit":
        break

您需要以某种方式存储开始时间。