0

我在图像的帮助下为我 4 岁的女儿制定了一个简单的数学学习计划。基于我们可以称为 X 的随机数,for 循环将运行 X 次并打印 X 次图像。图像将通过一个随机数从列表中选择,我们也可以称之为 Y。

如果 X 为 2,则图像 Y 将使用 for 循环在屏幕上打印 2 次。

问题是我不知道该怎么做。:P 如果有人可以帮助我,我将不胜感激!我正在使用 python 3.2 和 Tkinter。

这是我的图像列表的示例代码。

    self.imageListRegular = []
    self.imageListRegular.append(ImageTk.PhotoImage(file="Bilder/Bird-icon.png"))
    self.imageListRegular.append(ImageTk.PhotoImage(file="Bilder/elephant-icon.png"))      
    self.imageListRegular.append(ImageTk.PhotoImage(file="Bilder/fish-icon.png"))
    self.imageListRegular.append(ImageTk.PhotoImage(file="Bilder/ladybird-icon.png"))
    self.imageListRegular.append(ImageTk.PhotoImage(file="Bilder/zebra-icon.png"))

真诚的,罗伯特

4

1 回答 1

1

使用 pythonrandom模块

import random
image = random.choice(self.imageListRegular) #this is your 'Y' variable
times = random.randint(1, 4) #this is your 'X' variable

然后你 for 循环,我想它看起来像这样(我没有 Tkinter,所以我无法测试代码。这是从这里的示例派生的):

import Tkinter 
root = Tkinter.Tk() 
for i in xrange(times):
    Tkinter.Label(root, image=image).pack() 
root.mainloop() # Start the GUI

random.choice返回给定序列中的随机元素,因此random.choice(["apples", "bananas", "oranges"])将返回“apples”、“bananas”或“oranges”

random.randint(low, high)将返回一个介于低和高之间的随机整数,包括低和高。因此,如果您想将图像显示 1 到 4 次,random.randint(1, 4)就可以了。

于 2013-08-20T17:55:44.863 回答