В следующем коде не используется Simpy, но это может показать вам, что вам нужно. Если один или оба VIP и обычные клиенты не должны храниться в порядке поступления, вы можете поместить их в набор Python, как я сделал здесь для VIP-персон. Если, с другой стороны, их нужно обслуживать в порядке FIFO, тогда вы можете использовать очередь Python, как я сделал здесь для Normals. Я добавил несколько элементов в каждый контейнер. (Очевидно, что ваш код будет добавлять какие-то объекты Simpy, а не отдельные символы.) Если равномерно распределенное псевдослучайное отклонение опускается ниже p, тогда выбирается Normal (который, как я думаю, бас-акк к тому, что вы хотите) и вернулся; в противном случае - VIP.
>>> VIPs = set (['1', '2', '3'])
>>> from queue import Queue
>>> Normals = Queue()
>>> Normals.put('a')
>>> Normals.put('b')
>>> Normals.put('c')
>>> p = 0.75
>>> def selectCustomer(VIPs, Normals, p):
... from random import random
... if random() < p:
... return Normals.get()
... else:
... return VIPs.pop()
...
>>> selectCustomer(VIPs, Normals, p)
'2'
>>> selectCustomer(VIPs, Normals, p)
'a'
>>> selectCustomer(VIPs, Normals, p)
'1'
>>> selectCustomer(VIPs, Normals, p)
'b'
Не могли бы вы уточнить ваш вопрос немного? –