написать код на Python
Мастям игральных карт присвоены порядковые номера: 1– пики, 2 – трефы, 3 –
бубны, 4 – червы. Достоинству карт, старших десятки, присвоены номера: 11 – валет,
12 – дама, 13 – король, 14 – туз. Дано трехзначное число, в котором первая цифра
указывает на масть, а вторые две на достоинство карты. Вывести соответствующее
название карты вида «дама червей», «туз треф» и т.п.
Ответы
mastList = ["пики", "трефы", "бубны", "червы"]
dignityDist = {
11 : "валет",
12 : "дама",
13 : "король",
14 : "туз"
}
def dignity(dignityCart: int = None) -> str:
if type(dignityCart) != int:
raise "dignityCart in dignity() is not int"
if 1 > dignityCart or dignityCart > 14:
raise "dignityCart not define"
if dignityCart in dignityDist.keys():
return dignityDist[dignityCart]
else:
return str(dignityCart)
def main():
cartInfo = int(input())
mast, dignityCart = divmod(cartInfo, 100)
if len(mastList) >= mast:
mastCart = mastList[mast-1]
dignityCart = dignity(
dignityCart=dignityCart)
else:
raise "invalide mast cart"
print(dignityCart, mastCart)
main()
cards = {'1':'пик',
'2':'треф',
'3':'бубен',
'4':'червей',
'11':'валет',
'12':'дама',
'13':'король',
'14':'туз'}
a = input()
b = list(a)
print("дама бубновая" if cards[b[1]+b[2]]=='дама' and cards[b[0]]=='бубен'
else cards[b[1]+b[2]],cards[b[0]])