繁体   English   中英

random.randint不生成随机值

[英]random.randint not generating random values

我正在努力在Python 2.7中导入random 我想这个代码生成两张随机卡。 当前代码不生成随机卡。 如果我请求卡(9,11),代码生成卡(9,J)总计为19.输出没有任何随机性。

def blackjack(A,B):
   print "Welcome to Blackjack!"
   print "Your cards are",name[A-1],"&",name[B-1]
   total = value[A-1] + value[B-1]
   print "Your card total is",total

import random
A = random.randint(1,13)
B = random.randint(1,13)


name = ('A','2','3','4','5','6','7','8','9','10','J','Q','K')
value = (11,2,3,4,5,6,7,8,9,10,10,10,10)    

示例输出:

>>> blackjack(9,11)
Welcome to Blackjack!
Your cards are 9 & J
Your card total is 19

您似乎在定义函数和调用函数以及参数如何工作之间感到困惑。

def blackjack(A,B):
   print "Welcome to Blackjack!"
   print "Your cards are",name[A-1],"&",name[B-1]
   total = value[A-1] + value[B-1]
   print "Your card total is",total

在你的功能AB是占位符。 它们将被您在括号中放置的任何内容替换。 由于范围确定,您的功能对AB之外的任何定义都不了解。

范围界定是Python如何知道要使用哪些变量。 这里可以看到一个简单的例子:

>>> a = 10
>>> def bar():
    a = 5   
>>> a
10

a内部功能并不影响一个外面。 在你的功能中反过来也是如此。 A ,除非你把它作为一个参数 outrside功能不影响内部。

尝试这个:

blackjack(random.randint(1,13), random.randint(1,13))

看看你得到了什么。

您可以在此处阅读有关函数如何工作的更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM