簡體   English   中英

我如何隨機選擇“ def”?

[英]How do i randomly chooce a “def”?

看一下這個python 3代碼。

import random
from tkinter import *
from PIL import Image, ImageTk


def img1():

root = Tk()
root.geometry("400x400")

load = Image.open("1.png")
render = ImageTk.PhotoImage(load)
img = Label(image=render)
img.image = render
img.place(x=0,y=0)


def img2():

root = Tk()
root.geometry("400x400")

load = Image.open("2.png")
render = ImageTk.PhotoImage(load)
img = Label(image=render)
img.image = render
img.place(x=0,y=0)


def img3():

root = Tk()
root.geometry("400x400")

load = Image.open("3.png")
render = ImageTk.PhotoImage(load)
img = Label(image=render)
img.image = render
img.place(x=0,y=0)


def img4():

root = Tk()
root.geometry("400x400")

load = Image.open("4.png")
render = ImageTk.PhotoImage(load)
img = Label(image=render)
img.image = render
img.place(x=0,y=0)


def img5():

root = Tk()
root.geometry("400x400")

load = Image.open("5.png")
render = ImageTk.PhotoImage(load)
img = Label(image=render)
img.image = render
img.place(x=0,y=0)



def img6():

root = Tk()
root.geometry("400x400")

load = Image.open("6.png")
render = ImageTk.PhotoImage(load)
img = Label(image=render)
img.image = render
img.place(x=0,y=0)


List_img = [img1(), img2(), img3(), img4(), img5(), img6()]
random.choice(List_img)

我想隨機選擇一張圖像,但它會同時推動所有圖像。

最后兩行很復雜。

我沒有收到錯誤。

我是python的新手,所以很好<3

(所以我的代碼太多了,文本很少,我必須添加更多代碼,所以請耐心等待c;)

如果只想調用其中一個函數,請將函數本身放在列表中,而不要放在調用函數的結果中。

img1()中的括號是調用函數的方式。 如果您只想將函數本身視為值, img1 所以:

List_img = [img1, img2, img3, img4, img5, img6]

然后,當然,您必須調用您選擇的那個。 以與img1()調用函數img1相同的方式,這是:

random.choice(List_img)()

…意味着調用random.choice選擇的任何函數。

這里的關鍵思想是函數是“一流的值”-您可以將它們粘貼在列表中,將它們傳遞給函數,將它們存儲在變量中,等等,就像使用數字或字符串一樣,然后可以調用它們后來。

暫無
暫無

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

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