有没有办法把这段代码合并成一个函数?

2024-04-25 17:53:11 发布

您现在位置:Python中文网/ 问答频道 /正文

This code is used for users to configure the opening and closing hours of an office, the 4 functions increase or decrease the opening or closing time.

This is how it looks on the dashboard

closehour = 17
closeminute = 0
openhour = 8
openminute = 0


def increaseOpenTimeScript():
    global openhour
    global openminute
    if openhour == 23 and openminute == 50:
        openhour = 0
        openminute = 0
        time = "{}:{}0".format(openhour,openminute)
    elif openminute == 50:
        openminute = 0
        openhour+=1
        time = "{}:{}0".format(openhour, openminute)
    else:
        openminute+= 10
        time = "{}:{}".format(openhour, openminute)
    office.office1.officeOpenValue.config(text=time)

This is one of the functions, there are 3 more like it for decreasing the opening time, increasing closing time and decreasing closing time. I want to combine all of this code into one function to make making changes easier.

以下是所有功能:

def decreaseOpenTimeScript():
    global openhour
    global openminute
    if openminute >= 10:
        openminute -= 10
        if openminute == 0:
            time = "{}:{}0".format(openhour, openminute)
        else:
            time = "{}:{}".format(openhour,openminute)
    elif openhour > 0 and openminute == 0:
        openminute = 50
        openhour -= 1
        time = "{}:{}".format(openhour,openminute)
    elif openhour == 0 and openminute == 0:
        openhour = 23
        openminute = 50
       time = "{}:{}".format(openhour, openminute)
    office.office1.officeOpenValue.config(text=time)


def increaseCloseTimeScript():
    global closehour
    global closeminute
    if closehour == 23 and closeminute == 50:
        closehour = 0
        closeminute = 0
        time = "{}:{}0".format(closehour,closeminute)
    elif closeminute == 50:
        closeminute = 0
        closehour+=1
        time = "{}:{}0".format(closehour,closeminute)
    else:
        closeminute+= 10
        time = "{}:{}".format(closehour,closeminute)
    office.office1.officeCloseValue.config(text=time)


def decreaseCloseTimeScript():
    global closehour
    global closeminute
    if closeminute >= 10:
        closeminute -= 10
        if closeminute == 00:
            time = "{}:{}0".format(closehour,closeminute)
        else:
            time = "{}:{}".format(closehour, closeminute)
    elif closehour > 0 and closeminute == 0:
        closehour-=1
        closeminute = 50
        time = "{}:{}".format(closehour,closeminute)
    elif closehour == 0 and closeminute == 0:
        closehour = 23
        closeminute = 50
        time = "{}:{}".format(closehour, closeminute)
    office.office1.officeCloseValue.config(text=time)

Tags: andtheformatiftimedefglobalelse