Challenge
import random
num_cashiers = 1
num_cooks = 2
waiting_to_order = 0
waiting_for_food = 0
num_customers_served = 0
for minutes in range(300):
# Customers arrive every minute and line up to order.
waiting_to_order = waiting_to_order + random.randint(0, 6)
# Each cashier can take up to three orders per minute.
new_orders = min(num_cashiers * 3, waiting_to_order)
# After ordering, customers wait for their food to be made.
waiting_to_order = waiting_to_order - new_orders
waiting_for_food = waiting_for_food + new_orders
# Each cook can make up to 1 food per minute.
new_food = min(num_cooks*1, waiting_for_food)
num_customers_served = num_customers_served + new_food
# After providing food,
# the customer moves out of the waiting_for_food state.
waiting_for_food = waiting_for_food - new_food
print(str(waiting_to_order) + " customers waiting to order.")
print(str(waiting_for_food) + " customers waiting for food.")
print("The total number of customers served is " + \
str(num_customers_served) + "!")
Bonus
import random
num_cashiers = 2
num_cooks = 5
waiting_to_order = 0
waiting_for_food = 0
num_customers_served = 0
# from 12-2pm the customer arrival rate ever minute = (3, 6)
for minutes in range(120):
# Customers arrive every minute and line up to order.
waiting_to_order = waiting_to_order + random.randint(3, 6)
# Each cashier can take up to three orders per minute.
new_orders = min(num_cashiers * 3, waiting_to_order)
# After ordering, customers wait for their food to be made.
waiting_to_order = waiting_to_order - new_orders
waiting_for_food = waiting_for_food + new_orders
# Each cook can make up to 1 food per minute.
new_food = min(num_cooks*1, waiting_for_food)
num_customers_served = num_customers_served + new_food
# After providing food,
# the customer moves out of the waiting_for_food state.
waiting_for_food = waiting_for_food - new_food
print(str(waiting_to_order) + " customers waiting to order.")
print(str(waiting_for_food) + " customers waiting for food.")
# Rearrange the staff
num_cashiers = 1
num_cooks = 2
waiting_to_order = 0
waiting_for_food = 0
print("The total number of customers served is " + \
str(num_customers_served) + "!")
print("----------------------------")
print("----------------------------")
print("----------------------------")
# from 2-5pm the customer arrival rate ever minute = (0, 3)
for minutes in range(180):
# Customers arrive every minute and line up to order.
waiting_to_order = waiting_to_order + random.randint(0, 3)
# Each cashier can take up to three orders per minute.
new_orders = min(num_cashiers * 3, waiting_to_order)
# After ordering, customers wait for their food to be made.
waiting_to_order = waiting_to_order - new_orders
waiting_for_food = waiting_for_food + new_orders
# Each cook can make up to 1 food per minute.
new_food = min(num_cooks*1, waiting_for_food)
num_customers_served = num_customers_served + new_food
# After providing food,
# the customer moves out of the waiting_for_food state.
waiting_for_food = waiting_for_food - new_food
print(str(waiting_to_order) + " customers waiting to order.")
print(str(waiting_for_food) + " customers waiting for food.")
print("The total number of customers served is " + \
str(num_customers_served) + "!")
沒有留言:
張貼留言