26.7k views
2 votes
Write a program that takes user input describing a playing card in the following short-hand notation:

А Ace
2... 10 Card values
J Jack
Q Queen
K King
D Diamonds
H Hearts
S Spades
C Clubs

Your program should print the full description of the card. For example, Enter the card notation: QS Queen of Spades
Implement a class Card whose constructor takes the card notation string and whose getDescription method returns a description of the card. If the notation string is not in the correct format, the getDescription method should return the string "Unknown".

User Khuram
by
6.9k points

1 Answer

5 votes

Answer:

In python Language:

cardNotation = raw_input("Enter card notation: ")

# Create a dict for values

cardColors = {"D": "Diamonds",

"H": "Hearts",

"S": "Spades",

"C": "Clubs"}

cardNumberValues = {"A": "Ace",

"J": "Jack",

"Q": "Queen",

"K": "King",

"2": "Two",

"3": "Three",

"4": "Four",

"5": "Five",

"6": "Six",

"7": "Seven",

"8": "Eight",

"9": "Nine",

"10": "Ten"}

# Handle cases when 10 comes in input

if len(cardNotation) == 3:

number = cardNotation[:2]

color = cardNotation[2:]

print cardNumberValues.get(number) + " of " + cardColors.get(color)

elif len(cardNotation) == 2:

number = cardNotation[:1]

color = cardNotation[1:]

print cardNumberValues.get(number) + " of " + cardColors.get(color)

else:

print "INVALID VALUE"

User OttPrime
by
7.5k points