неділя, 19 лютого 2017 р.

9.1 Durak

A durak deck contains 36 cards. Each card has a suit of either clubs, diamonds, hearts, or spades (denoted C, D, H, S). Each card also has a value of either 6 through 10, jack, queen, king, or ace (denoted 6, 7, 8, 9, 10, J, Q, K, A). For scoring purposes card values are ordered as above, with 6 having the lowest and ace the highest value.
Напишите программу, которая определяет, бьёт ли одна карта другую.
Если встречаются две карты одной масти, то побеждает та, у которой выше значение;
Если карты разных мастей, то карта, имеющая козырную масть, побеждает;
Если карты разных мастей и нет козырных, то никто не побеждает.
Формат ввода:На первой строке через пробел указываются две карты в формате <значение><масть>, а на следующей строке указывается козырная масть.
Формат вывода:Программа должна вывести слово First, если первая карта бьёт вторую, Second, если вторая карта бьёт первую,Error, если ни одна из карт не может побить другую.
Sample Input 1:
AH JH
D
Sample Output 1:
First
Sample Input 2:
AH JS
S
Sample Output 2:
Second
Sample Input 3:
7C 10H
S
Sample Output 3:
Error
Верно. Так держать!
1
cards = list(input().split(" "))
2
trump = input()
3
jacket = ["6", "7", "8", "9", "10", "J", "Q", "K", "A" ]
4
deck = list("CSDH")
5
if (cards[0][-1] not in deck) or (cards[1][-1] not in deck) or (trump not in deck):
6
    print("Error")
7
elif cards[0][-1]==trump and cards[1][-1]!=trump:
8
    #если масть первой карти соввпадает с мастью козиря ,
9
    #а масть второй карти не совпадает с козирем,то виводим первую карту
10
    print("First")
11
elif cards[0][-1]!=trump and cards[1][-1]==trump:
12
    #Если масть второй карти совпадает с козирем а первая масть с козирем не совпадает ,
13
    #то следует вивести вторую карту.
14
    print("Second")
15
elif cards[0][-1]==cards[1][-1]:
16
    if jacket.index(cards[0][:-1])>jacket.index(cards[1][:-1]):
17
    # Если инедкс значения первой карти больше за индекс значение второй карти 
18
    # при равних мастях карт,то выводить первую карту
19
        print("First")
20
    elif jacket.index(cards[0][:-1])<jacket.index(cards[1][:-1]):
21
    #Если индекс значения  первой карти меньше за индекс значеня второй карти 
22
    #при одинакових мастях следует вивести вторую карту
23
        print("Second")
24
    else:
25
        print("Error")
26
else:
27
    print("Error")
28
 

Немає коментарів:

Дописати коментар