Python-随机卡

标签 python python-2.7

我正在尝试用Python编写一个程序,当用户按回车键时,计算机会显示一张随机卡。同一张卡片不能打印两次。到目前为止我的代码是:

from random import *

used = []

number = randint(1,13)
if number == 11:
    number = 'Jack'
elif number == 12:
    number  = 'Queen'
elif number == 13:
    number = 'King'

suit = randint(1,4)
if suit == 1:
    suit = 'Hearts'
elif suit == 2:
   suit = 'Spades'
elif suit == 3:
    suit = 'Diamonds'
elif suit == 4:
    suit = 'Clubs'

end = False

while end == False :
    get = raw_input('Press enter to get a card')
    if get == 'end':
        end == True
        continue
    card = number , suit
    for i in (used):
        if card == i:
            continue
        used.append(card)
    print card

到目前为止,每次用户按 Enter 时它只会输出相同的卡片,并且当用户输入“end”时程序不会结束。有人能找出其中的错误吗?

最佳答案

问题是在 while 循环中您分配

card = number, suit

但是 numbersuit 在您进入循环之前已选择一次,因此永远不会改变。每次循环时都需要重新分配numbersuit

此外,您正在迭代 used 中的卡片,但最初那里没有卡片,因此该循环永远不会执行。由于将 card 添加到 used 的唯一位置是在 for 循环内,因此它永远不会向 used 添加任何内容.

关于Python-随机卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33108840/

相关文章:

python - 匹配子字符串列表中的子字符串

python - 如何在 Eclipse 中将 PIL 添加到 PyDev,以便我可以导入它并在我的项目中使用它?

python - 某处是否有不兼容 64 位的 Python 包列表?

python - SQLAlchemy 从两个子查询的连接中选择

python - 什么是 pyximport,我应该如何使用它?

python - 为分配给一行值的列表列表中的元素分配一个值

python - 正则表达式、Python 和文档注释 <!-- 文本 -->

Python类返回值

python - 使用给定的文本和标签集构建术语文档矩阵

google-app-engine - 在代理后本地运行谷歌应用引擎