Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Adding to a List and displaying quantity in the list

16 views
Skip to first unread message

Shamefaced

unread,
Jul 10, 2012, 3:15:55 PM7/10/12
to
Hi
I have coded a program whihc outputs what I like, but I am trying to modify it to add specific result info to a list and then display the number of items in the list. This is easy for me with basic code, but seems difficult when trying to adapt my program.
My code and explanation is as follows:

class Source(Process):
""" Source generates customers randomly """

def generate(self, number, meanTBA, resource):
for i in range(number):
c = Customer(name="Customer%02d" % (i+1,))
activate(c, c.visit(b=resource))
#t = expovariate(1.0 / meanTBA)
t = 10.0
yield hold, self, t

class Customer(Process):
""" Customer arrives, is served and leaves """

def visit(self, b):
leavelist = [] /* Name of List defined */
arrive = now()
#tib = expovariate(1.0 / timeInBank)
tib = timeInBank
/* Console Output results start here */
print("%8.3f %s: Here I am" % (now()/60, self.name))
yield (request, self, b), (hold, self,maxWaitTime)
wait = now() - arrive
if self.acquired(b):
print("%8.3f %s: Waited %6.3f" % (now()/60, self.name, wait))
yield hold, self, tib
yield release, self, b
print("%8.3f %s: Finished" % (now()/60, self.name))
else:
print("%8.3f %s: Waited too long %6.3f" % (now()/60, self.name, wait) + " time units have passed - Customer has left")
leavelist.append(self.acquired)
print len(leavelist)

What I am looking to do is the "customers" who have "Waited too long" get added to my leavelist() as they occur.

Does this make sense?

Thank you.

John Gordon

unread,
Jul 10, 2012, 4:30:31 PM7/10/12
to
In <e16d39fa-161b-409e...@googlegroups.com> Shamefaced <maneng...@gmail.com> writes:

> else:
> print("%8.3f %s: Waited too long %6.3f" % (now()/60, self.name, wait) + " time units have passed - Customer has left")
> leavelist.append(self.acquired)

What is self.acquired? Judging from earlier code it appears to be a
function, but here you're appending it to leavelist. Did you really mean
to append a function object to leavelist?

--
John Gordon A is for Amy, who fell down the stairs
gor...@panix.com B is for Basil, assaulted by bears
-- Edward Gorey, "The Gashlycrumb Tinies"

Shamefaced

unread,
Jul 10, 2012, 4:51:20 PM7/10/12
to
else:
> print("%8.3f %s: Waited too long %6.3f" % (now()/60, self.name, wait) + " time units have passed - Customer has left")
> leavelist.append(self.acquired)

Yeah, I should have changed that back to :
leavelist.append(self.name) -- my thinking was that it would append the name of each item to the list.?
0 new messages