- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在下面的代码中,我从列表(目标集)中绘制 3 个图像,然后将它们显示到屏幕上。接下来,我将另外 3 张图像(图片)显示到屏幕的不同部分。对于第二部分;在 50% 的情况下,我希望“图片”图像与最初显示的图像相同(目标集)。我对这部分没问题,当 x == 0 时我设置 pics = targetset (基本上是抛硬币)。
我的问题是,在其他 50% 的情况下,我希望其中一张“图片”集与原始显示的集(目标集)之一相同,即三者中的任何一个。我希望从图片列表中随机选择剩余的 2 张。就目前情况而言,根据我的逻辑,我只能使“pics”图像与“targetset”中最初显示的图像完全相同或完全不同。
增加问题:当x==0(使pics=targetset)时,它们都显示正常,但是当x==1(意味着不进行更改)时,我收到以下错误消息:
图片[i].pos = 位置[i]UnboundLocalError:分配之前引用的局部变量“pics”
这是我的代码:
#create initial target set
imgList1 = glob.glob(os.path.join('stim','*.png'))
random.shuffle(imgList1)
targetset = [visual.ImageStim(window, img) for img in imgList1[:3]]
#initial target set location
setlocation = [(-2,0),(0,0),(2,0)]
random.shuffle(setlocation)
#create target list
imgList = glob.glob(os.path.join('stim', '*.png'))
random.shuffle(imgList)
pics = [visual.ImageStim(window, img) for img in imgList[:3]]
#set target locations
location = [(1,2),(3,3),(5,5)]
random.shuffle(location)
'''define sequential presentation function'''
def seq():
x = random.randint(0,1)
if x == 0:
pics = targetset
print x
#display initial target set
for i in range(3):
targetset[i].pos = setlocation[i]
targetset[i].draw()
window.flip()
core.wait(3)
#display targets
for i in range(3):
pics[i].pos = location[i]
pics[i].draw()
window.flip()
core.wait(1)
seq()
core.wait(3)
window.close()
quit()
希望有人能帮忙干杯
最佳答案
我发现您的代码存在一些可能的陷阱。一种是您从同一组图像创建两个单独的列表 imgList1
和 imgList
,然后分别随机化每个列表并从每个列表中提取前三个元素分别列出到 targetset
和 pics
中。这些子集在图像中可能会有一些重叠。从你的任务描述来看,我认为这不是故意的。我可能建议仅创建 1 个 imgList
,然后使用 imgList.pop()
函数从列表中提取图像。 Pop 返回列表中的最后一个元素,然后从列表中删除该元素。我认为这就像从一副牌中抽一张牌,你不能再次抽这张牌,因为它不再在牌堆中。您当前正在做的事情就像从两个不同的牌组中抽牌。您可能会获得同一张卡两次。
我在这里看到的第二个问题是,你定义了当你的硬币翻转 x 为 0 时要做什么的条件,但你没有为当你的硬币翻转为 1 时定义一个条件。目前,它只会显示imgList
中的前 3 个图像,因为这就是您定义 pics
的方式。我可能建议在 x 抛硬币的 if/else block 中定义 pics
。如果为 0,则使用 targetset
,如果为 1,则从目标列表中随机选择一个元素,然后将该元素复制到 pics
并从 中再弹出两张图像>imgList
。与所有编码一样,解决这个问题的方法不止一种,但我将在这里提供一个解决方案。
#Outside the trial loop
imgList = glob.glob(os.path.join('stim', '*.png'))
random.shuffle(imgList)
#Inside the trial loop
targetset = []
for i in range(0,3):
targetset.append(imgList.pop())
#Do your display stuff with targetset
if random.randint(0,1) == 0:
pics = targetset
else:
pics = []
pics.append(targetset[random.randint(0,2)])
pics.append(imgList.pop())
pics.append(imgList.pop())
random.shuffle(pics)
#Do your display stuff with pics
关于python - 从先前图像集中绘制 1 个图像 + 从列表中随机绘制 2 个图像 (Python/Psychopy),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34857898/
我想做一个系统,用户可以上传和下载文件。系统将具有一个集中的地形,但在很大程度上依赖于节点将相关数据通过中心节点传输给其他节点我不希望对等端保存整个文件,而是希望它们保存整个数据集的一个压缩的加密部分
我正在 Riverpod Auth 流程样板应用程序中工作。 我想对所有异步功能甚至登录和注销使用通用加载屏幕。目前,如果 Appstate 加载我显示加载屏幕,我有 AppState 提供程序。它可
我有一个 functions.php 文件,其中包括以下功能: function head() { global $brand, $brandName, $logo, $slogan, $si
我有下一个 html 代码 ... 我想选择随机的 div 数组来向它们添加一个事件类,因为我使用这个 jquery 代码 function randOrder() { return
多年来,我创建并调整了一组NAnt脚本以执行完整的项目构建。主脚本采用一个应用程序端点(例如,一个Web应用程序项目),并从源代码控制中对其进行完整的构建。脚本已预先配置了与构建输出位置,源代码控制地
我希望我的 jQuery 插件在 $(window) 选择上调用时表现不同。如何检查 window 是否在集合中?到目前为止我的尝试: >>> $(window) == $(window) false
考虑到我们有 let existingSet = $(); 如何通过 jQuery 将 newElements 添加到该集合中? existingSet = existingSet.add(newEl
我需要在 priority_queue 中保存一个整数集合。但是我需要能够删除这些整数中的一个,即使它不是我容器的第一个元素。我无法使用 std::priority_queue。我选择使用一个集合来根
对于我的网站,我一直在尝试集中所有内容以便在移动设备上显示: http://m.bachatdeals.com 我在移动设备上打开网站后,内容下方有很多空间,我必须捏住 zoon 才能阅读,如何删除下
我计划为我的剑道验证器制定一些自定义规则,并希望在所有验证器之间共享。在我的验证器代码中,我有: rules: { bothorblank: function (input) {
这是我的函数,用于测试两个点 x 和 y 在 MAX_ITERATION 255 之后是否在 mandelbrot 集合中。如果不在,它应该返回 0,如果在,则返回 1。 int isMandelbr
致力于从移动设备扩展到桌面设备的简单网站布局。一切都按预期工作,但由于某种原因,我的 float div 没有集中放置。我已经完成了正常工作,但这次不适合我?有什么想法吗? 这是我的 CSS: /*
我的“div”元素有一个相对宽度,它不是绝对的,所以我不能使用精确的数字来集中。一个不错的解决方案是使用“display: inline-block”: body { text-align:
目前我拥有的所有类都处理它们自己的导入。使用一个典型的例子: [ImportMany] private Lazy[] someOfMyInterfaces { get; set; } public M
我有一个类定义: class Question: title = "" answer = "" def __init__(self, title, answer):
我正在尝试将一个对象 Point2D 插入到一个 Point2D 集合中,但我做不到,似乎该集合适用于 int 和 char 但不适用于对象。 我需要帮助来了解如何将对象插入到集合中???假设我想按
我的应用上有一些弹出窗口,它是全屏的,代码如下: content.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
我们有一个多模块 Quarkus 项目,带有一个公共(public)库和多个应用程序。在通用的 lib 中,我们有各种缓存用于所有应用。 我们希望不必在每个应用程序的所有配置文件中配置保留和容量。 有
这个问题在这里已经有了答案: Nested facets in ggplot2 spanning groups (2 个回答) 去年关闭。 我在 ggplot 中创建了一个图表里面有两个变量 face
我无法集中v-radio-group。这是我得到的:
我是一名优秀的程序员,十分优秀!