1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
LUCKY_DIMON [66]
4 years ago
10

A small grocery store has one checkout.You have been asked to write a program to simulate the grocery store as it checks out cus

tomers.YOU ARE REQURED TO USE A QUEUE TO SOLVE THE PROBLEM.The queue program (qu.py) is located on the Instructor drive.Here are some guidelines:
1. A customer gets to the checkout every 1 – 5 minutes
2. The checker can process one customer every 5 – 15 minutes (depends on how many groceries customer has 10 items or less will take 5 minutes, 11- 20 items will take 6 10 minutes, more than 20 items will take 11-15 minutes- you will need two random numbers)
3. The program should find the average wait time for customers and the number of customers left
4. Use the random number generator to get values for when customers get to the checkout and 5 You are not required to use classes, but it might make things easier than 20 items will take 11 - 15 minutes-you will need two random numbers) in the queue how long the checker will take.
Computers and Technology
1 answer:
Masteriza [31]4 years ago
5 0

Answer:

Check the explanation

Explanation:

PYTHON CODE :

#import random function

from random import randint

#class Queue declaration

class Queue:

#declare methods in the Queue

def __init__(self):

self. items = []

def isEmpty(self):

return self. items == []

def enqueue(self, item):

self.items. insert(0, item)

def dequeue(self):

return self. items. pop()

def size(self):

return len(self. items)

def getInnerList(self):

return self.items

#This is customer Queue

class Customer:

#declare methods

def __init__(self,n):

self.numberOfItems=n

def __str__(self):

return str(self. numberOfItems)

def getNumberOfItems(self):

return self. numberOfItems

#This is expresscheker customer queue

class Expresschecker:

def __init__(self,n):

self.numberOfItems=n

def __str__(self):

return str(self. numberOfItems)

def getNumberOfItems(self):

return self. numberOfItems

#Returns random checkout time, based on number of items

def checkOut(Expresschecker):

items = Expresschecker. getNumberOfItems()

if items <= 10:

return randint(2, 5)

if items <= 20:

return randint(6, 9)

return randint(10, 14)

#Initiate queue for the Expresschecker

Expresschecker = Queue()

#declare total customers

totalcheckoutCustomers = 10

#express Customers shopping..

for i in range(totalcheckoutCustomers):

#Each putting Between 1 to 25 items

randomItemsQty = randint(1, 25)

customer = Customer(randomItemsQty)

#Getting into queue for checkout

Expresschecker. enqueue(customer)

#====Now all express Customers having

#random qty of items are in Queue======

#intial time

totalTime=0

#define the size of the queue

totalcheckoutCustomers = Expresschecker. size()

#using for-loop until queue is empty check out

#the items in the express cheker queue

while not(Expresschecker. isEmpty()):

totalTime+=randint(1,5)

#Picking a customer

expresscustomer = Expresschecker. dequeue()

#Processing the customer

timeTaken = checkOut(expresscustomer)

#add the time for each custimer

totalTime+=timeTaken

#compute average waiting time

averageWaitingTime = totalTime/totalcheckoutCustomers

#display the average waiting time

print("Average waiting time for the express customer queue is "

+str(averageWaitingTime)+" minutes ")

print("Remaining Custimers in the express customer Queue is: ",

Expresschecker. size())

#Returns random checkout time, based on number of items

def checkOut(customer):

items = customer. getNumberOfItems()

if items <= 10:

return randint(1, 5)

if items <= 20:

return randint(6, 10)

return randint(11, 15)

#in

customersQueue = Queue()

totalCustomers = 20 #Change number of customers here

#Customers shopping..

for i in range(totalCustomers):

#Each putting Between 1 to 25 items

randomItemsQty = randint(1, 25)

customer = Customer(randomItemsQty)

#Getting into queue for checkout

customersQueue. enqueue(customer)

#====Now all Customers having random qty

#of items are in Queue======

totalTime=0

totalCustomers = customersQueue. size()

while not(customersQueue. isEmpty()):

totalTime+=randint(1,5)

#Picking a customer

customer = customersQueue. dequeue()

#Processing the customer

timeTaken = checkOut(customer)

totalTime+=timeTaken

#Result=============================

averageWaitTime = totalTime/totalCustomers

print("Average wait time for the customer queue is

"+str(averageWaitTime)+" minutes ")

print("Remaining Customers in the customer Queue is:

",customersQueue. size())

You might be interested in
CHALLENGE ACTIVITY
julia-pushkina [17]

Answer:

avg_owls=0.0

num_owls_zooA = int(input())

num_owls_zooB = int(input())

num_owls_zooC = int(input())

num_zoos = 3

avg_owls = (num_owls_zooA + num_owls_zooB + num_owls_zooC) / num_zoos

print('Average owls per zoo:', int(avg_owls))

Explanation:

There is a problem while you are trying the calculate the average owls per zoo.

As you may know, in order to calculate the average, you need to get the total number of owls in all the zoos, then divide it to the number of zoos. That is why you need to sum num_owls_zooA + num_owls_zooB + num_owls_zooC and divide the result by num_zoos

Be aware that the average is printed as integer value. That is why you need to cast the avg_owls to an int as int(avg_owls)

6 0
3 years ago
Which of the following statements applies to a proprietary software license? a. Purchased from a vendor and gives you the right
Semmy [17]

Answer: a)Purchased from a vendor and gives you the right to use the software but is not yours to own.

Explanation: Proprietary software is the software that can be used by the user but it has  copyright of the vendor/holder in any case.There are some certain condition under which the user can use this software.The distribution of the software is not permitted in this case. No modification or manipulation can be done by the user.

Other options are incorrect because it is not free as its purchased from vendor ,not freely available rather guided by owner and can be used over certain period of time.Thus , the correct option is option(a).

3 0
3 years ago
1. While cell phones provide Freedom and mobility,they can also become a leash, compelling user's to answer them anywhere and an
____ [38]
Cellular phones have had a major impact on our lives and the way that we perform every day tasks. Many of these changes are apparent, while others we may not even be aware of.

Cell phones have brought a whole new meaning to the term multitasking. Twenty years ago, it was not possible to talk to the office while you were at the grocery store picking up some necessary items. You could never have had a three-way business conference while you were fixing dinner or been able to deal with a business client from home while caring for a sick child.
3 0
3 years ago
When you set code inside other code, in an orderly fashion, it is called:
V125BC [204]

Answer:

It is called Nesting

Explanation:

or in this case B

5 0
3 years ago
Linda is making handouts for her upcoming presentation. She wants the handouts to be comprehensible to people who do not attend
Ludmilka [50]

The correct answer is; provide a printout of her slideshow.

Further Explanation:

Linda should provide the printout of the slideshow for the people who could not attend the presentation. This way they are getting clear and concise information that they missed. They will have all the details she gave in person and will not be lacking any of the important information.

She can do this by using the "print notes" on her page if there is that option available. If not, she can use another method. Linda should make sure that each person received their copy either via office mail or email. She can also email her coworkers and ask them to pick up their copy at their convenience.

Learn more about slideshows at brainly.com/question/11837867

#LearnwithBrainly

4 0
3 years ago
Other questions:
  • ____ takes the idea of breaking down a program into separate and reusable functions to the next level by focusing on the encapsu
    10·1 answer
  • What is important for an internet user to know about https:// ?
    9·1 answer
  • What problems have arisen regarding use of the Internet for global business transactions, and how are they being resolved?
    15·1 answer
  • To maintain her audience's confidence in her, what should kiara not do while delivering her presentation?
    10·1 answer
  • Advantages of bursaries??????
    11·1 answer
  • Searching for a particular record in a database is called “querying the data.”<br> True<br> False
    9·2 answers
  • What is ?
    9·2 answers
  • _______ is the use of software to assist in the creation, analysis, and modification of the design of a component or product.
    9·1 answer
  • Which type of writing is most commonly used in the field of information technology
    14·1 answer
  • Majken is turning 18 years old soon and wants to calculate how many seconds she will have been alive.
    7·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!