Предмет: Информатика, автор: kurienkomaria13

написать код на Python
Мастям игральных карт присвоены порядковые номера: 1– пики, 2 – трефы, 3 –
бубны, 4 – червы. Достоинству карт, старших десятки, присвоены номера: 11 – валет,
12 – дама, 13 – король, 14 – туз. Дано трехзначное число, в котором первая цифра
указывает на масть, а вторые две на достоинство карты. Вывести соответствующее
название карты вида «дама червей», «туз треф» и т.п.​

Ответы

Автор ответа: anonymous2010
0

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()

Автор ответа: torvel
1

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]])


torvel: буду очень благодарна за лучший ответ :)
torvel: спс)
anonymous2010: у вас код нерабочий
anonymous2010: при значении 310 ошибка
anonymous2010: а код ниже работает как нужно
Похожие вопросы