首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NameError:没有定义“随机”的名字

NameError:没有定义“随机”的名字
EN

Stack Overflow用户
提问于 2015-04-09 09:29:37
回答 2查看 30.1K关注 0票数 1
代码语言:javascript
复制
options = [ "Choice 1: 1-9", "Choice 2: 10- 100",  ]
button = buttonbox ( msg = "Choose your range of numbers", title = "Select number range", choices = options)

if button == "Choice 1: 1-9":
 from random import randint
rn1 = randint(30,50)
from random import randint
rn2 = randint(30,50)

options = [ "Close"]
buttonbox ( msg = "%s X %s = ___" % (rn1, rn2), title = "Select number range", choices = options)
if button == "Choice 2: 10- 100":
 from random import randint
rn2 = randint (10,100)
from random import randint
rn2 = randint (10,100)
options = [ "Close"]
buttonbox ( msg = "%s X %s = ___" % (rn1, rn2), title = "Select number range", choices = options)

这是我的代码,当我尝试运行第二个选项时,它表示NameError: name 'randint' is not defined,尽管代码与第一个选项完全相同,但是数字不同。

有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2015-04-09 14:59:50

只导入一次,在文件的顶部。将from random import randint放在程序的顶部,并在所有其他地方删除它。我想这就是你想要的:

代码语言:javascript
复制
from random import randint

options = ["Choice 1: 1-9", "Choice 2: 10- 100"]
button = buttonbox(msg="Choose your range of numbers", title="Select number range", choices=options)

if button == options[0]:
    rn1 = randint(30, 50)
    rn2 = randint(30, 50)

elif button == options[1]:
    rn1 = randint(10, 100)
    rn2 = randint(10, 100)

options = ["Close"]
buttonbox (msg="%s X %s = ___" % (rn1, rn2), title="Select number range", choices=options)
票数 7
EN

Stack Overflow用户

发布于 2015-04-09 09:46:00

我怀疑按钮不等于“选择1: 1-9”。它可能有一些尾随的白空间或一个新的行记录器。尝试打印它以验证这一点。您可以使用条带删除这些内容。

在任何情况下,正如EdChum所提到的,不建议有条件导入。更糟糕的是,您正在导入相同的模块两行。我不确定您是否想这样做,但我建议将rn1定义放在检查中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29534724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档