我怎样才能让 Python 3 中的一个函数变成 return 一个我可以在另一个函数中使用的值?

How can I get a function in Python 3 to return a value that I can use in another function?

我需要在 python 中设计一个蛇梯游戏,其中一部分需要能够掷骰子并获得随机值。为此,我导入了 random 然后编写了下面的函数。但是,显然,我随后需要能够在游戏的其他功能中使用骰子值。我如何获得它以便保留值 python returns 并能够在另一个函数中使用。

下面是我编写的用于掷骰子的函数。但是,当我然后 运行 这个函数然后再尝试 print(dice_value) 时,程序告诉我 dice_value 没有被定义。

有人能帮忙吗??

import random 
def roll_dice():
    dice_value = random.randint(1,6)
    print("Its a..." + str(dice_value))
    return dice_value

变量 dice_value 仅存在于您的函数 roll_dice() 中。它是一个 局部变量 。 您需要使用以下方式调用您的函数:

my_variable = roll_dice()

现在函数的结果存储在变量my_variable中,您可以打印它了。

您必须将 return 值保存在某处,然后使用它或将其传递给另一个函数。

例如:

>>> import random
>>> def roll_dice():
...     dice_value = random.randint(1,6)
...     print("[in roll_dice] Its a..." + str(dice_value))
...     return dice_value
... 
>>> obtained_dice = roll_dice()
[in roll_dice] Its a...1
>>> print("[outside roll_dice] Its a..." + str(obtained_dice))
[outside roll_dice] Its a...1

变量dice_value是函数内的一个局部变量space所以你必须return把它保存在另一个变量中才能继续使用它

您可以将函数 roll_dice() 的 return 值存储在一个变量中,该变量将在 return 中存储 return 变量的值(dice_value).

random_dice_value = roll_dice()

注意:Python是解释型语言,实现后需要调用函数。它将逐行执行文件。

问题是您试图在其范围之外调用变量 dice_value。如果您仍然继续使用单行打印语句,则可以通过调用函数(返回 dice_value 变量)来实现,如:

print(roll_dice())