I hope someone can help me with this. Please document the code below by using py
ID: 3823946 • Letter: I
Question
I hope someone can help me with this. Please document the code below by using python comments.
import random
class Card:
def __init__(self, rank, suite):
self.rank = rank
self.suite = suite
def getRank(self):
return self.rank
def getSuite(self):
return self.suite
def setSuite(self,suit):
self.suite = suit
def setRank(self,rank):
selt.rank = rank
def __str__(self):
return ('{0} of {1}'.format(self.rank, self.suite))
def shuffled_deck():
deck = []
for suite in ['Clubs', 'Diamonds', 'Hearts', 'Spades']:
for num in ['Ace', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'Jack', 'Queen', 'King']:
deck.append([num, suite])
random.shuffle(deck)
return deck
def main():
deck = shuffled_deck()
hand = []
while True:
n = int(input('How many cards should I deal: '))
if n < 1 or n > 52:
print('Please enter a number between 1-52! ')
else:
break
for i in range(n):
hand.append(deck[i])
print "Your "+str(n)+" dcards are: "
for i in hand:
print str(i[0])+" of "+ i[1]
Explanation / Answer
import random
class Card:
# constrcutor for creating Card class object
def __init__(self, rank, suite):
# creating rank and suite instance variable
self.rank = rank
self.suite = suite
# function to get rank of a card. rank can be Ace, 2 - 10, Jack, Queen, King
def getRank(self):
return self.rank
# function return suite of a card, suite are club, diamond, hearts, spades
def getSuite(self):
return self.suite
# set suite to a given value
def setSuite(self,suit):
self.suite = suit
# set rank to given value
def setRank(self,rank):
selt.rank = rank
# return a string representtaion of card in the form Ace of Hearts etc
def __str__(self):
return ('{0} of {1}'.format(self.rank, self.suite))
# create shuffle and return a deck of card randomly using random.shuffle method of random library
def shuffled_deck():
deck = []
# Creating a list of all 52 cards.
for suite in ['Clubs', 'Diamonds', 'Hearts', 'Spades']:
for num in ['Ace', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'Jack', 'Queen', 'King']:
deck.append([num, suite])
# shuffling cards
random.shuffle(deck)
return deck
# main method
def main():
# get a list of 52 acrsd in random order
deck = shuffled_deck()
hand = []
# get a number of cards to be dealt from user, validate user input and prompt till corect value is entered
while True:
n = int(input('How many cards should I deal: '))
if n < 1 or n > 52:
print('Please enter a number between 1-52! ')
else:
break
# create a list of cards in hand
for i in range(n):
hand.append(deck[i])
print "Your "+str(n)+" dcards are: "
# print cards
for i in hand:
print str(i[0])+" of "+ i[1]
# code link https://goo.gl/6bGo3t
# please note your code is not using class Card at all.