class Card(): ranks=["","ace","two","three","four","five","six","seven","eight","nine","ten","jack","queen","king"] suits=["","hearts","spades","clubs","diamonds"] def __init__(self, rank, suit): self.rank=rank self.suit=suit def getSuit(self): return self.suit def getRank(self): return self.rank def viewCard(self): return Card.ranks[self.rank]+" of "+Card.suits[self.suit] def getCard(self): return "("+ str(self.suit)+","+str(self.rank)+")" def __str__(self): return Card.ranks[self.rank]+" of "+Card.suits[self.suit] class Vector: def __init__(self,x,y): self.x=x self.y=y def getX(self): return self.x def getY(self): return self.y def getVector(self): return "("+str(self.x)+","+str(self.y)+")" def __str__(self): #must return a string data type when re-defining str return str(self.x)+"i+"+str(self.y)+"j" def __add__(self,otherVector): newX=self.x+otherVector.x newY=self.y+otherVector.y return Vector(newX,newY)