最高牌获胜

2024-06-08 08:47:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个程序,无法判断哪张牌是最高的。我有办法做到吗。你知道吗

    from random import *

print("Highest card wins \n")
print("S = spades. \n H = hearts. \n C = clubs. \n D = diamonds. \n J = big joker. \n j = small joker. \n ")
P1= input("Press enter to draw your card \n" "Player One: ")

print("Player One drew ")
myList=(["Sk","Sq","Sj","Sa","S1","S2","S3", "S4","S5","S6","S7","S8","S9","J","j","Ck","Cq","Cj","Ca","C1","C2","C3", "C4","C5","C6","C7","C8","C9","Hk","Hq","Hj","Ha","H1","H2","H3", "H4","H5","H6","H7","H8","H9","Dk","Dq","Dj","Da","D1","D2","D3", "D4","D5","D6","D7","D8","D9"])

y = sample(myList, 1)
print (y)

P2=input("Press enter to draw your card \n" "Player Two: ")

print("Player Two drew ")
myList=(["Sk","Sq","Sj","Sa","S1","S2","S3", "S4","S5","S6","S7","S8","S9","J","j","Ck","Cq","Cj","Ca","C1","C2","C3", "C4","C5","C6","C7","C8","C9","Hk","Hq","Hj","Ha","H1","H2","H3", "H4","H5","H6","H7","H8","H9","Dk","Dq","Dj","Da","D1","D2","D3", "D4","D5","D6","D7","D8","D9"])


y = sample(myList, 1)
print (y)

if P1 < P2:
    print("Player One Loses ")
else:
    print("Player Two Wins ")

Tags: toinputyourcardonepressplayerprint
2条回答

下面是我如何用一副更小的牌来做这件事。如果你想订满一副的话,就随便点吧。如果你有相同能量的卡片,你可以把它放在列表中的一个列表中,但是如果你选择了一个,你必须想办法从嵌套列表中打印一张卡片。你知道吗

from random import choice

print("Highest card wins \n")
P1= input("Press enter to draw your card \n" "Player One: ")

print("Player One drew ")
player_1_deck = ['c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'c10'] #sample deck, ordered in ascending order of strenght, the higher the index of the card on the list, the stronger it is

p1_draw = choice(player_1_deck) #chooses a random card from player 1 deck
print (p1_draw) #print selected card
p1_draw_streght = player_1_deck.index(p1_draw) #store the strenght of the card an integer variable for later comparing with player 2

P2=input("Press enter to draw your card \n" "Player Two: ") 

print("Player Two drew ")
player_2_deck = ['c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'c10'] #same process for player 2

p2_draw = choice(player_2_deck)
print (p2_draw)
p2_draw_streght = player_2_deck.index(p2_draw)

if p1_draw_streght < p2_draw_streght: #comparing strenghts
    print("Player Two Wins ")
elif p1_draw_streght == p2_draw_streght:
    print('Draw')
else:
    print("Player One Wins ")

我假设卡片的值与它们的顺序一致。 王牌是1,国王是13。 J是14,J是0 这里有一个平局的机会

import random

house = ['S','C','H','D']
faces = ['J','Q','K']
deck = [(house[y] + str(i if i < 11 else faces[i-11]), i) for y in range(len(house)) for i in range(1,14)]
deck.extend([('J',14),('j',0)])

print("Highest card wins \n")
print("S = spades. \n H = hearts. \n C = clubs. \n D = diamonds. \n J = big joker. \n j = small joker. \n ")
input("Press any key to draw your card \n" "Player One: ")
P1 = random.sample(deck,1)
print("Player One drew: ", P1[0][0])

input("Press any key to draw your card \n" "Player Two: ")
P2 = random.sample(deck,1)
print("Player Two drew: ", P2[0][0])

print("Player One Wins!") if P1[0][1] > P2[0][1] else print("Player Two Wins!") if P1[0][1] < P2[0][1] else print("Draw!")

相关问题 更多 >