On 25/02/14 00:59, Gregg Martinson wrote:
there is nothing produced. I am pretty sure it has to do with my syntax
for the list and the substitution of a a local variable
Chris has answered your question but there are a couple
of general points on your code below...
def header (r):
print ("##############################")
print ("### Round: ",r," ####")
print ("##############################")
print ("Aff\tNeg\tJudge\tRoom")
Rather than having multiple calls to print you could do the same thing
with a single call using a triple quoted string. Its largely a matter of
taste.
class Team(object):
code = ""
This makes code a class level attribute. I don't think that's
what you want. And you don't seem to use it anywhere.
# The class "constructor" - It's actually an initializer
def __init__(self,code):
self.code = code
This creates an instance attribute which is distinct to your class
variable above.
print ("code is: ",code)
self.competitors=[]
def print_team(self):
print("team code is: ",self.code)
print("debated:",end=" ")
for x in self.competitors:
print (x)
def debated(self,otherTeam):
print (x)
self.competitors.append(x)
def giveCode(self):
return self.code
In Python its idiomatic to not use getter methods like this.
Unless you need to use a method you can just access code
directly.
def make_team(code):
team = Team(code)
return team
Unless you u=inrtend to do more magic here this is pretty much redundant.
Calling
spam = make_team(code)
is no better than calling
spam = Team(code)
And it takes more typing, more reading to understand and is slower.
#MAIN Program#
myTeamCodes=["a","aa","b","bb","c","cc","d"]
# Make teams
myTeams=[]#list of teams
for x in myTeamCodes:
myteam=make_team(x)
myTeams.append(myteam)
I don't know if you've discovered list comprehensions yet but this
pattern is exactly what they do
somelist = []
for item in anotherList:
somelist.append(somefunc(item)
So when you see that pattern consider replacing it with:
someList = [someFunc(item) for item in anotherList]
Or in your case:
myTeams = [Team(code) for code in myTeamCodes]
HTH
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.flickr.com/photos/alangauldphotos
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor