![](/img/trans.png)
[英]I have a method / function in python in which i'm trying to get a return value which i can then use as a variable in another function
[英]How can I get a function in Python 3 to return a value that I can use in another function?
我需要在 python 中設計一個蛇和梯子的游戲,對於其中的一部分,我需要能夠擲骰子並獲得隨機值。 為此,我導入了 random,然后編寫了下面的函數。 但是,很明顯,我需要能夠在游戲的其他功能中使用骰子值。 我如何獲得它以便保留 python 返回的值並能夠在另一個函數中使用它。
下面是我為擲骰子編寫的函數。 但是,當我然后運行此函數然后嘗試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
,您可以打印它。
您必須將返回值保存在某處,然后使用它或將其傳遞給另一個函數。
例如:
>>> 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
是函數空間內的局部變量,因此您必須返回並將其保存在另一個變量中才能繼續使用它
您可以將函數 roll_dice() 的返回值存儲在一個變量中,該變量將返回存儲返回變量 (dice_value) 的值。
random_dice_value = roll_dice()
注意:由於 Python 是一種解釋器語言,因此您需要在實現它之后調用該函數。 它將逐行執行文件。
問題是您試圖在其范圍之外調用變量dice_value
。 如果您仍然繼續使用單行打印語句,則可以通過調用函數(返回dice_value
變量)來實現,如下所示:
print(roll_dice())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.