Итак, вы хотите, чтобы ваша машина переключалась случайным образом между состояниями, а затем оставалась в этом определенном состоянии в течение некоторого времени (также случайного или у каждого состояния есть определенное время ожидания?)?Может быть, что-то вроде кода ниже будет работать для вас?Вы присваиваете номер каждому состоянию (state_dic) и время ожидания для каждого состояния (state_time_dic, это также может быть случайное число), а затем в функции вы видите, что переменная i генерируется случайным образом.Вы можете пройти через этот цикл так часто, как вам нравится.
state_dic= {1: "state 1", 2: "state 2", 3: "state 3"}
state_time_dic = {"state 1": 5, "state 2": 10, "state 3": 8}
def mulit_state_system(resource):
i = random.randint(1,4)
if i in state_dic.keys:
state = state_dic[i]
with resource.request as req:
yield req
yield timeout(state_time_dic[state])
Я не тестировал код.Это просто чтобы дать вам идею.