카드 덱을 만들고 특정 작업을 완료해야합니다. 세 번째 작업에서는 두 개의 카드를 비교할 것을 묻습니다 : card1
및 card2
. card1
이 card2
보다 큰 경우 1
, card2
이 card1
보다 큰 경우 2
또는 두 카드가 동일한 경우 0
을 반환해야합니다. 정장은 무시해야합니다. 출력이 올바르지 않습니다. hand_1
의 경우, 0이 리턴되어야 할 때 1이 리턴됩니다. hand_2
의 경우 올바른 2가 반환됩니다. hand_3
의 경우 1을 반환해야하는 경우 2가 반환됩니다. 내 질문은 : 0, 1, 2가 올바르게 반환되도록하려면 어떻게해야합니까? 전체 코드를 제공했습니다 (작업 3은 맨 아래에 있습니다). 나에게 제공되는 코드는 변경할 수 없으므로이 코드로 작업해야합니다.두 카드의 더 높은 값을 반환하는 방법은 무엇입니까?
#Task 1
#------
import random
diamonds = ['2♦','3♦','4♦','5♦','6♦','7♦','8♦','9♦','10♦','J♦','Q♦','K♦','A♦']
clubs = ['2♣','3♣','4♣','5♣','6♣','7♣','8♣','9♣','10♣','J♣','Q♣','K♣','A♣']
hearts = ['2♥','3♥','4♥','5♥','6♥','7♥','8♥','9♥','10♥','J♥','Q♥','K♥','A♥']
spades = ['2♠','3♠','4♠','5♠','6♠','7♠','8♠','9♠','10♠','J♠','Q♠','K♠','A♠']
def shuffled_deck():
"""
Shuffles the deck of cards and returns a shuffled deck.
"""
deck = diamonds + clubs + hearts + spades
random.shuffle(deck)
return deck
deck = shuffled_deck()
if (len(deck) == 52):
print("You might have created a random deck!")
print(deck)
else:
print("Your deck isn't yet complete.")
print(deck)
#Task 2
#------
def deal_N_cards(deck, N):
"""
Returns a list of N cards and removes them from the deck.
"""
return [deck.pop() for k in range(N)]
deck2 = shuffled_deck()
hand1 = deal_N_cards(deck2, 5)
hand2 = deal_N_cards(deck2, 5)
hand3 = deal_N_cards(deck2, 20)
if (len(hand1) + len(hand2) + len(hand3) + len(deck2) == 52):
print()
print("You might have completed task 2!")
print("hand1:")
print(hand1)
print("hand2:")
print(hand2)
print("hand3:")
print(hand3)
print("deck2:")
print(deck2)
else:
print()
print("Your function isn't yet complete.")
print("hand1:")
print(hand1)
print("hand2:")
print(hand2)
print("hand3:")
print(hand3)
print("deck2:")
print(deck2)
#Task 3
#------
def compare_cards(card1, card2):
"""
Returns 1 if the value of card1 is greater,
2 if the value of card2 is greater,
or 0 if the values of both card1 and card2 are equal.
"""
'A' == 11
'K' == 10
'Q' == 10
'J' == 10
if card1 > card2:
return 1
if card1 < card2:
return 2
if card1 == card2:
return 0
deck3 = shuffled_deck()
hand_1 = compare_cards('4♣', '4♠')
hand_2 = compare_cards('2♠', '6♣')
hand_3 = compare_cards('A♣', 'K♠')
print()
print("You might have completed task 3!")
print("Hand 1:")
print(hand_1)
print("Hand 2:")
print(hand_2)
print("Hand 3:")
print(hand_3)