Python 无法识别来自导入模块的变量

Python 无法识别来自导入模块的变量,python,Python,为什么我的程序无法识别模块GuessLoop中模块randnomodule中的randNo变量 GuessLoop模块的相关代码: import sys import random import sys import time from randomnomodule import RandomNoGenerator RandomNoGenerator(1, 21) def GuessLoopFunc(guess): print(randNo) import random

为什么我的程序无法识别模块
GuessLoop
中模块
randnomodule
中的
randNo
变量

GuessLoop
模块的相关代码:

import sys
import random
import sys
import time
from randomnomodule import RandomNoGenerator

RandomNoGenerator(1, 21)

def GuessLoopFunc(guess):   

    print(randNo)
import random

def RandomNoGenerator(lowerBound, upperBound):
    randNo = random.randrange(lowerBound, upperBound)
    return randNo
randnomodule模块的代码:

import sys
import random
import sys
import time
from randomnomodule import RandomNoGenerator

RandomNoGenerator(1, 21)

def GuessLoopFunc(guess):   

    print(randNo)
import random

def RandomNoGenerator(lowerBound, upperBound):
    randNo = random.randrange(lowerBound, upperBound)
    return randNo
我收到的错误消息:

…\GuessLoop.py”,GuessLoopFunc中的第11行
打印(随机编号)
NameError:未定义名称“randNo”

RandomNoGenerator(1,21)

您只调用函数,但不保存其返回值。请改用此选项:

randNo=RandomNoGenerator(1,21)

这似乎奏效了,谢谢!我想,既然我将randomnomodule模块中函数的答案返回给randNo,如果我将randomnomodule导入另一段代码,它会在调用函数时输出randNo……这是像我这样处理代码的正确方法吗?@LuCS通过编写
返回randNo
在randnomodule中,您不会在GuessLoop模块中自动定义
randNo
。您可以通过调用函数并将其返回值保存到变量中来获取值。