【发布时间】:2015-01-25 05:10:34
【问题描述】:
import random
import time
import math
import sys
card_numbers = [1,2,3,4,5,6,7,8,9]
card_suite = ["of hearts", "of diamonds", "of clubs", "of spades", "Queen", "King", "Jack", "Ace"] #4,5,6,7
random_number = random.choice(card_numbers)
random_number2 = random.choice(card_numbers)
random_number3 = random.choice(card_numbers)
random_suite = random.choice(card_suite)
numberadd = random_number + random_number2
numberadd2 = random_number + random_number2 + random_number3
def setup():
setupinput = raw_input("Type deal to deal the cards!")
if setupinput == "deal":
deal()
elif setupinput != "deal":
goodbye()
else:
print "Invalid Syntax!"
sys.exit(0)
def deal():
print "Your first card is... ", random_number, random_suite
print "Your second card is... ", random_number2, random_suite
if numberadd >= 21:
retry()
else:
thirdround()
def thirdround():
thirdroundinput = raw_input("Would you like another card?")
if thirdroundinput == "yes":
print "Your next card is... ", random_number3, random_suite
if numberadd2 >= 21:
retry()
else:
print "You win! Your total was... ", numberadd2
retry()
elif thirdroundinput == "no":
print "Okay... safe! Your total was... ", numberadd
else:
print "Invalid Syntax!"
sys.exit(0)
def goodbye():
print "Okay... goodbye!"
sys.exit(0)
def retry():
retryinput = raw_input("Would you like to try again?")
if retryinput == "yes":
setup()
elif retryinput != "yes":
goodbye()
else:
print "Invalid Syntax!"
sys.exit(0)
def ifblacklist():
if random_number or random_number2 or random_number3 == "Queen" or "King" or "Jack":
setup()
全新的编码,刚刚完成编码(几乎作为一个初学者项目完成)并且想知道,如果随机套件选择王牌,王牌,王后或杰克,还是我让它输出数字10(或 1 为王牌)?
谢谢
为了澄清,ifblacklist 函数是我尝试输出数字 10,并且想知道是否有人可以指出我完成它/重写的正确方向
【问题讨论】:
-
我认为您应该将
suits更改为仅包含名称的数组:[ 'hearts', 'spades', 'diamonds', 'clubs']。此外,您应该使用ranks = ['1', '2', '3', '4', '5', '6', '7','8','9','10','J','Q','K','A']。获取 0-3 的随机数表示花色,0-13 表示等级。 -
你想达到什么目的。代码似乎不完整。例如,你在哪里打电话给
ifblacklist()?你有main()方法或类似的方法吗? -
糟糕,我的意思是 0-12(其中有一个 1...)通过索引引用对象比比较字符串文字更有效和抽象。
-
期望的输出是什么?能具体点吗?
-
@howaboutNO 所需的输出当前获得两张卡,如果需要,第三张。但我想知道,如果其中一张牌是 J、K 或 Q,我将如何确保它们的数字是 10。
标签: python python-2.7 random