崇高文本2:编译问题python

2024-04-19 16:44:11 发布

您现在位置:Python中文网/ 问答频道 /正文

{

import random

random.seed(0)

def rollDie():
    """returns a randomly chosen int between 1 and 6"""
    return random.choice([1,2,3,4,5,6])
}

所以我遇到的问题是,当我用ctrl+b编译这个python文件并试图通过python控制台执行rollDie()函数时,它给了我一个错误。你知道吗

Traceback (most recent call last): File "", line 1, in NameError: name 'rollDie' is not defined

但是当我在控制台中使用execfile('teache1.py')即我的文件名时。然后它执行得很好。只是当我使用ctrl+B(普通构建)时,它会抛出回溯错误。我知道这是一个小错误,但似乎不能得到它。你知道吗

我想要的是正常构建文件,然后从控制台正常调用函数,而不是使用execfile命令再次编译。你知道吗


Tags: and文件importdef错误randombetweenrandomly
1条回答
网友
1楼 · 发布于 2024-04-19 16:44:11

我试过这个,效果很好。需要注意的是>;使用choice时不需要提供种子,它将“随机”从列表中选择一个元素。使用range()可以生成一个与[1,2,3,4,5,6]相同的列表。记住,如果写入range(1,6),range()不会生成1-6,最后一个数字被排除在外。最后,如果您编写了一个方法并想使用它,请记住“调用”它。你知道吗

from random import choice

def roll_die():
    return choice(range(1,7))
print roll_die()

相关问题 更多 >