Случайный Python вызывает зависание при загрузке - PullRequest
0 голосов
/ 20 октября 2018

Я пытаюсь создать небольшую программу тренировок для себя, чтобы использовать ее дома с Джанго.У меня есть 5 списков, они содержат тренировки верхней части тела, тренировки нижней части тела, тренировки всего тела, тренировки ab, а затем еще один, который включает в себя случайное время в секундах.Я отправляю форму, в которой просто указано количество минут, которое я хочу потренировать.Я использую Python random, чтобы сначала рандомизировать список раз с циклом while:

timelimits = [
    15,
    30,
    45,
    60,
    75,
    90
]


# This is inside of my views, rendering to index
time = form.cleaned_data['duration']
            workouttime = 0
            randomtimes = []
            while workouttime <= int(time) * 60:
                randomtime = random.choice(timelimits)
                randomtimes.append(randomtime)
                workouttime = workouttime + randomtime

, а затем после того, как я создаю список случайных чисел с тем количеством случайных моментов, которое приближается к продолжительности минут, которые я указал в моемЯ думаю, что нужно создать тренировку со случайными упражнениями из каждого списка:

exercises = 0
            workout = []
            station = 'a'
            while exercises < len(randomtimes):
                if station == 'a':
                    if len(lowerbody) > 0:
                        randomleg = random.choice(lowerbody)
                        lowerbody.remove(randomleg)
                        workout.append([randomleg, randomtimes[exercises]])
                        exercises = exercises + 1
                        print(exercises)
                    station = 'b'
                elif station == 'b':
                    if len(fullbody) > 0:
                        randomfb = random.choice(fullbody)
                        fullbody.remove(randomfb)
                        workout.append([randomfb, randomtimes[exercises]])
                        exercises = exercises + 1
                        print(exercises)
                    station = 'c'
                elif station == 'c':
                    if len(upperbody) > 0:
                        randomup = random.choice(upperbody)
                        upperbody.remove(randomup)
                        workout.append([randomup, randomtimes[exercises]])
                        exercises = exercises + 1
                        print(exercises)
                    station = 'd'
                elif station == 'd':
                    if len(abbs) > 0:
                        randomabbs = random.choice(abbs)
                        abbs.remove(randomabbs)
                        workout.append([randomabbs, randomtimes[exercises]])
                        exercises = exercises + 1
                        print(exercises)
                    station = 'a'

Когда я нажимаю на кнопку Отправить на моей форме, она начинает печатать на консоли, как будто она работает должным образом, но обычно мой сервер просто вращается до тех пориз.Если я затем снова отправляю форму, она загружается правильно и создает список случайных тренировок со случайным связанным временем.Он замерзает либо у строителя времени, либо у тренировок, и я действительно не могу понять, что заставляет его зависать.Как я уже сказал, это не сработает, тогда, если я отправлю его повторно, оно будет работать магическим образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...