我正试图用适合西班牙的牌在两名玩家(人类和计算机(之间创建一个5回合的纸牌游戏。虽然我现在可以把牌发给两个玩家并比较他们中的大多数,但我有两个主要问题:
- 我无法比较不是数字的dims("Jack"、"Knight"、"King"、"Ace"(。我的老师建议我创建一个这样的字典:dims={2:"二",3:"三",4:"四",5:"五",6:"六",7:"七",8:"杰克",9:"骑士",10:"国王",11:"王牌"}。但我不知道如何使用数字进行比较,然后用文字打印(只是打印(值。有什么想法吗
- 另一件事是,我不知道在哪里写循环来打五轮。练习还要求按下一个键进行下一轮,在这种情况下我可以使用什么功能
这是我的代码:
dims = [2, 3, 4, 5, 6, 7, "Jack", "Knight", "King", "Ace"]
suits = ["golds", "cups", "swords", "clubs"]
deck = []
for d in dims:
for s in suits:
card = "{} of {}".format(d,s)
deck.append(card)
random.shuffle(deck)
Human = [[]]
Computer = [[]]
for i in range(1):
for j in range(1):
Human[j].append(deck.pop(0))
for i in range(1):
print("Human")
for j in range (1):
print("{:16}".format(Human[i][j]), end=" ")
print()
for i in range(1):
for j in range(1):
Computer[j].append(deck.pop(0))
for i in range(1):
print("Computer")
for j in range (1):
print("{:16}".format(Computer[i][j]), end=" ")
print()
if Human>Computer:
print("Human wins")
elif Computer>Human:
print("Computer wins")
else:
print("Draw")
对于第一个问题,您可能需要查看Python Dictionaries。您可以将数字存储为密钥,将卡值存储为值。
对于您的第二个问题,我已经读过您的代码一次了,我不明白为什么range(1)
有很多For循环。如果只想运行一次方法,就不需要循环。运行游戏五次的提示:游戏从哪一行开始?游戏在哪一行结束?