[英]How do I call the functions: def(dot) and def(dice) from def(main)?
[英]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.