Python:从函数调用变量到if语句

Python:从函数调用变量到if语句,python,function,variables,Python,Function,Variables,我正试着用这个作业来练习我的模块化编程。我发现了如何将变量调用到主函数中,但对于evenOdd()中的if语句,我不确定如何调用该值。我发现错误“randNum”未定义 from random import randint def genNumber(): randNum = randint(0,20000) print("My number is " + str(randNum)) return (randNum) def inputNum(): userNu

我正试着用这个作业来练习我的模块化编程。我发现了如何将变量调用到主函数中,但对于evenOdd()中的if语句,我不确定如何调用该值。我发现错误“randNum”未定义

from random import randint
def genNumber():
    randNum = randint(0,20000)
    print("My number is " + str(randNum))
    return (randNum)

def inputNum():
    userNum = input("Please enter a number: ")
    print("Your number is " + str(userNum))
    return (userNum)

def evenOdd():
    if randNum%2==0:
        print("My number is even")
    else:
        print("My number is odd")
    if userNum%2==0:
        print("Your number is even")
    else:
        print("Your number is odd")

def main():
    randNum = genNumber()
    userNum = inputNum()
    evenOdd()
    input("Press ENTER to exit")


main()

您可以在全局范围内定义randNum,也可以将其作为变量传递给evenOdd()函数,如下面的evenOdd(randNum)。

您可以在全局范围内定义randNum,也可以将其作为变量传递给evenOdd()函数,如下面的evenOdd(randNum)。

randNum
超出了
evenOdd()的范围
@MooingRawr如何编辑此内容以使其在范围内?我假设它与我在main()中所做的类似,但我不确定如何实现它。@TannerBritt您可以将其值传递给使用其值的函数。@TannerBritt将该值作为参数传递给函数
evenOdd(randNum)
randNum
不在
evenOdd()的范围内。
@moonigrawr如何编辑它使其在范围内?我假设它与我在main()中所做的类似,但我不确定如何实现它。@TannerBritt您可以将其值传递给使用其值的函数。@TannerBritt将该值作为参数传递给函数<代码>偶数(randNum)谢谢!我最初尝试过这个方法,但由于没有将userNum转换为int而出错。我愚蠢地忽略了这个错误,认为这是因为我尝试了一个解决方案。类型转换每次都会得到您的支持,特别是在非类型化语言中。很容易错过转换。谢谢!我最初尝试过这个方法,但由于没有将userNum转换为int而出错。我愚蠢地忽略了这个错误,认为这是因为我尝试了一个解决方案。类型转换每次都会得到您的支持,特别是在非类型化语言中。错过转换要容易得多。