簡體   English   中英

從隨機 Python 模塊中獲取 output

[英]Getting output from the random Python module

我正在嘗試運行一個腳本,該腳本在列表中采用五個函數,並使用random模塊隨機選擇一個。

myList = [quote1(), quote2(), quote3(), quote4(), quote5()]

def random_output(): random.choice(myList)

print(random_output) 

但是,在運行時,它只是同時打印所有引號,然后是<function random_output at 0x0000019F66EF4430>

你應該把你的函數放在myList中,而不是它們調用的結果 然后用 random.choice 選擇它后調用random.choice

myList = [quote1, quote2, quote3, quote4, quote5]

def random_output():
    # select a random function
    # call it, and return its output
    return random.choice(myList)()

print(random_output())

您不需要只調用另一個 function B 的 function A。只需調用 function B:

import random

myList = [quote1(), quote2(), quote3(), quote4(), quote5()]
random.choice(myList)

如果你真的想把它放在 function 中,可能是因為你在那里做其他事情,你應該總是傳遞你的 function 需要什么,並返回它產生的東西(這稱為“純”函數):

def random_output(aList):
    return random.choice(aList)

然后這樣稱呼它:

random_output(myList)

如果你還不想調用函數quote1quote2等,那么你不應該在它們后面加上括號,直到你想調用它們。 例如:

funcs = [quote1, quote2, quote3, quote4, quote5]
random_func = random.choice(funcs)
result = random_func(my_input)

您必須加上括號來調用您的 function:

myList = [quote1(), quote2(), quote3(), quote4(), quote5()]

def random_output(): random.choice(myList)

print(random_output()) <--- Here

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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