Как остановить бесконечный цикл - PullRequest
0 голосов
/ 24 апреля 2020

Я новичок от ie до Python, и я пытаюсь сделать забавный симулятор самостоятельно.

Пока я пытался создать while-l oop, после нескольких результатов, это выглядело как бесконечное l oop. Я хочу создать симуляцию клиентской линии.

Это должно дать мне 1, 2, 4 (сначала время прибытия), затем 6, 11, 16 (время отъезда из магазина), затем 20. ...

Это дало мне 1, 2, 4 и 6 на время отправления, и это не сработало.

Я много пытался, следуя l oop, написав код от руки, но все выглядит правильно!

simulation = [(1, 5), (2, 5),(4, 5), (20, 5),(22, 5),(24, 5),(26, 5), (28, 5),(30, 5),(88, 3)]

def arrival_num(x):
    for i in range(len(simulation01)):
        x.append(simulation01[i][0])

def depart_num(x):
    x.append(simulation[0][0] + simulation[0][1]+ wait_event[0])

def waiting_time(x):
    x.append(depart_event[0] - simulation[0][0])

arrival = []
arrival_num(arrival)

arrival_event = []
arrival_time = []

depart = []

depart_time = []
depart_event = []

wait_event = [0]
wait_time = [0]
total_wait = 0

while True:


    depart_num(depart_event)
    depart_num(depart_time)

    arrival_event.append(arrival[0])
    arrival_time.append(arrival[0])

    if depart_time[0] > arrival_event[0]:

        print('hi', arrival_event[0])

        del simulation[0]

        total_wait += wait_event[0]

        waiting_time(wait_event)

        if wait_event[1] < 0:
            del wait_event[1]
            wait_event.append(0)
        else:
            pass

        wait_time.append(wait_event[1])

        del arrival_event[0]
        del arrival[0]
        del depart_event[0]
        del wait_event[0]

    elif depart_time[0] < arrival_event[0]:

        if depart_time[0] == (wait_time[0] + arrival_time[0] + simulation[0][1]):

            print('bye', depart_time[0])


            del Wait_time[0]
            del depart_time[0]
            del arrival_time[0]
            del arrival_event[0]
            del depart_event[0]
            del arrival_time[-1]
            del depart_time[-1]

    elif depart_time[0] == arrival_event[0]:

        print('hi', arrival_event[0])
        print('bye', depart_time[0])

        del arrival_event[0]
        del Wait_time[0]
        del depart_time[0]
        del depart_event[0]
        del arrival_time[0]
        del arrival[0]
...