【发布时间】:2014-05-16 21:04:36
【问题描述】:
我目前正在尝试在 Python 中创建一个程序,该程序将允许使用 random 函数创建随机卡,其中包含西装和卡号。
到目前为止的代码如下所示...
import random
num1 = random.randint(1,13)
num2 = random.randint(1,4)
cardnum1 = ""
cardnum2 = ""
input ("Press the enter key to continue \n")
if True:
if num1 == 11:
cardnum1 = "Queen"
elif num1 == 12:
cardnum1 = "Jack"
elif num1 == 13:
cardnum1 = "King"
elif num1 < 10:
cardnum1 = num1
elif num2 == 1:
cardnum2 = "Spades"
elif num2 == 2:
cardnum2 = "Hearts"
elif num2 == 3:
cardnum2 = "Diamonds"
elif num2 == 4:
cardnum2 = "Clubs"
print (cardnum1, cardnum2)
如果卡号 (num1) 是 11、12 或 13,则该卡将分别为 Jack、Queen 和 King。如果变量 num22 等于 1、2、3 或 4,则牌也将分别为黑桃、红心、方块和梅花。
我在这里遇到的问题是,IDLE 不是同时打印卡号和它的花色,而是只打印卡号并选择不打印变量 cardnum2。例如,如果 num1 是 8 并且 num2 是 Diamonds,我希望 IDLE 打印“9 Diamonds”,但只打印“9”。我只能选择这种方法来解决和编写程序,所以有人可以帮助清除代码并帮助我处理这段代码吗?
谢谢,杰克。
更新:请问,如何循环程序,以便在用户按下回车键时重复创建新卡片?
【问题讨论】:
-
为什么会有
if True:这个条件? -
@jabaldonedo 我尝试了其他条件,但他们以某种方式弄乱了代码。这似乎是该地段中最简单的条件。只是问一下,你会推荐什么?
-
你的条件是多余的,你不需要它,你会一直进入那个代码块
-
@JackDavis:去掉
if True:行并取消缩进它下面的块。 -
@jabaldonedo 哦,好的。我不知道。不过还是非常感谢!
标签: python