Объект не повторяется при добавлении в список - PullRequest
0 голосов
/ 28 октября 2018

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

from cashier import Cashier
from customer import Customer

class MarketModel(object):

def __init__(self, lengthOfSimulation, averageTimePerCus,
             probabilityOfNewArrival, numberOfCashiers):
    self._probabilityOfNewArrival = probabilityOfNewArrival
    self._lengthOfSimulation = lengthOfSimulation
    self._averageTimePerCus = averageTimePerCus
    self._cashierList = []
    for i in range(numberOfCashiers):
        self._cashierList.append(Cashier())

, а затем вот файл, который использует MarketModel с использованием фиксированного числа4 для количества кассиров:

def main():
    print "Welcome to the Martket Simulator!"
    lengthOfSimulation = input("Enter the total running time: ")
    averageTimePerCus = input("Enter the average time per customer: ")
    probabilityOfNewArrival = input("Enter the probability of a new arrival: ")
    if lengthOfSimulation < 1 or lengthOfSimulation > 1000:
        print "Running time must be an integer greater than 0" + \
            "\nand less than or equal to 1000"
    elif averageTimePerCus <= 0 or averageTimePerCus >= lengthOfSimulation:
        print "Average time per customer must be an integer" + \
            "\ngreater than 0 and less than running time"
    elif probabilityOfNewArrival <= 0 or probabilityOfNewArrival > 1:
        print "Probability must be geater than 0" + \
            "\nand less than or equal to 1"
    else:
        model = MarketModel(lengthOfSimulation, averageTimePerCus,
                            probabilityOfNewArrival,4) 
        print model.runSimulation()

Когда я запускаю этот код, я получаю эту ошибку:

     16         for i in range(numberOfCashiers):
 ---> 17             self._cashierList.append(Cashier())
     18 
     19     def runSimulation(self):
 TypeError: 'Cashier' object is not iterable 

Итак, насколько я понимаю, когда я пытаюсь инициализировать объект MarketModel восновная функция, она застревает, когда я пытаюсь составить список кассиров.Я не думал, что вещи должны быть повторяемыми, чтобы быть добавленными в список.Что здесь происходит?

...