【发布时间】:2019-10-15 17:52:10
【问题描述】:
我正在尝试创建一个代码,其中包含一个函数,用于计算两个数字之间的随机数(我在编写代码时选择该随机数),然后将其从 Num1 中取出。但是,当我运行它时,它生成的数字总是0。请你告诉我如何正确编写这个函数!这是下面的代码。
import random
MinNum = int(0)
MaxNum = int(0)
Num1 = int(36)
def RandomNum(x,y,z):
MinNum = x
MaxNum = y
Num1 = z
Num1 = Num1 - random.randint(MinNum, MaxNum)
RandomNum(5,17,Num1) # - I would type it in the code like this
print(Num1) # - This should print a number that is equal to: 36 - the number generated.
【问题讨论】:
-
你的函数不会返回任何东西,也不会产生其他副作用,因此调用它绝对没有意义。
-
你的函数所做的只是创建一些局部变量。你要么需要
return从中获取一些东西,要么让它改变一些全局变量(避免这种情况) -
如果你想改变函数中的全局变量,你必须先将它们声明为
global——否则默认情况下它们只是只能在函数内访问的局部变量。跨度>