首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从列表中选择特定项

从列表中选择特定项
EN

Stack Overflow用户
提问于 2022-03-22 17:26:25
回答 2查看 45关注 0票数 2

我试着用Python制作“谁是那个精灵”。我已经上传了不同的图像文件到我的文件夹。有些是口袋妖怪的剪影版本,而另一些则是实际的口袋妖怪。我将这些图像文件的名称放入两个单独的列表中。一个列表用于轮廓图像,另一个列表用于非轮廓图像。

我试图弄清楚如何从其中一个列表中选择一个名称,同时确保它与最终产品相匹配。例如,如果我选择一个Pikachu幻灯片,我如何使它使它,当我点击时,它显示皮卡丘的形象,而不是不同的口袋妖怪?

这是我的代码:

代码语言:javascript
复制
import tkinter as tk
from PIL import ImageTk,Image
import random


#pop up window creation
window = tk.Tk()
window.title("Who's that Pokemon? AP CSP Project by Ethan Wong")
window.wm_geometry("850x500")


#list of silo image name files
silo_list = ['pikachusilo.png', 'rowletsilo.png', 'dugtriosilo.png']
#noraml list (non-silo images)
non_silo_list = ['pikachu.png', 'rowlet.png', 'dugtrio.png']

silo_pick = random.choice(silo_list)
normal_pick = random.choice(non_silo_list)


#silo images (opens up the silo images)
silo_image = ImageTk.PhotoImage(Image.open(silo_pick)) #google.com (image source)
silo = tk.Label(image=silo_image)
silo.pack()

#normal (non-silo images)
normal_image = ImageTk.PhotoImage(Image.open(normal_pick))
normal = tk.Label(image=normal_image)


#how the button works (displays the normal image)
def clickfoward():
    normal.pack()

#button atempt
fowardbutton = tk.Button(window, text="see the answer!", command=clickfoward)
fowardbutton.pack()


window.mainloop()

但是,我不知道从这里该怎么办。

EN

回答 2

Stack Overflow用户

发布于 2022-03-22 17:29:43

如下所示:

代码语言:javascript
复制
images = [
    ('pikachu.png','pikachusilo.png'),
    ('rowlet.png','rowletsilo.png'),
    ('dugtrio.png','dugtriosilo.png')
]

或者,如果严格遵循该命名规则,即剪影名称是在点之前添加了“筒仓”的完整图像,则可以轻松地从另一个生成其中一个。

票数 1
EN

Stack Overflow用户

发布于 2022-03-22 17:31:49

您可以使用zip()将口袋妖怪的映像与其相应的silouette映像绑定。

改变这一点:

代码语言:javascript
复制
silo_pick = random.choice(silo_list)
normal_pick = random.choice(non_silo_list)

代码语言:javascript
复制
silo_pick, normal_pick = random.choice(zip(silo_list, non_silo_list))

zip()以编程方式生成二元组列表(如Tim Roberts's answer中所示),然后LHS将该元组的第一个元素分配给silo_pick,第二个元素分配给normal_pick

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71576439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档