我有一个包含键输入和鼠标坐标输入的数组。
该数组包括:[W,A,D,X,mouseX,mouseY]。
下面我找到了检查是否已经完成特定选择的代码;因此,如果用户按下W,则数组会添加[0,1,0,0,mouseX, mouseY]
。
我的问题是:如何让Python声明mouseX和mouseY可以是任何值,除非它是一个整数,所以我也可以附加这些值?
mouseX = 0
mouseY = 0
for data in train_data:
img = data[0]
choice = data[1]
if choice == [1,0,0,0, mouseX, mouseY]:
left.append([img,choice])
elif choice == [0,0,1,0,mouseX, mouseY]:
right.append([img,choice])
elif choice == [0,0,0,1,mouseX, mouseY]:
shoot.append([img,choice])
elif choice == [0,1,0,0,mouseX, mouseY]:
forward.append([img,choice])
谢谢!
答案 0 :(得分:0)
所以你真的只想将列表中的前四项与一些参考列表进行比较。你可以这样做:
if choice[0:4] == [1,0,0,0]:
left.append([img,choice])
等...
答案 1 :(得分:0)
在编写的代码中,除非mouseX和mouseY等于0,否则永远不会写入数据。要检查mouseX或mouseY是否都是整数,然后检查按键:
for data in train_data:
img = data[0]
choice = data[1]
mouseX = choice[4]
mouseY = choice[5]
if int in [type(mouseX), type(mouseY)]:
choice = None #comparisons will now fail if integer X or Y
if choice[:4] == [1,0,0,0]:
left.append([img,choice])
elif choice[:4] == [0,0,1,0]:
right.append([img,choice])
elif choice[:4] == [0,0,0,1]:
shoot.append([img,choice])
elif choice[:4] == [0,1,0,0]:
forward.append([img,choice])
注意如果数据[1]没有6个成员,这将失败。