簡體   English   中英

如何在 Python 3 中獲取一個函數以返回我可以在另一個函數中使用的值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM