我创建了一个程序在Python蜜蜂,降低,树在不同的位置,我希望蜜蜂能够移动。但是,当我运行程序时,它总是因为类型错误而卡住。有人能给我解释一下是什么导致了这个问题以及如何解决它吗。另外,我是一个完全的编程初学者,所以任何关于如何使我的代码更快或更符合逻辑的提示都会很乐意接受。程序代码如下:
import random
wb0,wb1,wb2,wb3,wb4,wb5,wb6,wb7,wb8,wb9 = [],[],[],[],[],[],[],[],[],[]
worker_bees = [wb0,wb1,wb2,wb3,wb4,wb5,wb6,wb7,wb8,wb9]
f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14 = [],[],[],[],[],[],[],[],[],[],[],[],[],[],[]
flowers = [f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14]
t0,t1,t2,t3,t4 = [],[],[],[],[]
trees = [t0,t1,t2,t3,t4]
def world_generate():
def worker_bee_spawn():
x = 0
i = 0
while i < 10:
worker_bees[x] = (random.randrange(0,100), random.randrange(0,100))
x += 1
i += 1
def flower_spawn():
x = 0
i = 0
while i < 15:
flowers[x] = (random.randrange(0,100), random.randrange(0,100))
x += 1
i += 1
if flowers[x - 1] == worker_bees:
x -= 1
i -= 1
def tree_spawn():
x = 0
i = 0
while i < 5:
trees[x] = (random.randrange(0,100), random.randrange(0,100))
x += 1
i += 1
if trees[x - 1] == worker_bees:
x -= 1
i -= 1
elif trees[x - 1] == flowers:
x -= 1
i -= 1
worker_bee_spawn()
flower_spawn()
tree_spawn()
world_generate()
def worker_bee_movement():
x = 0
i = 0
while i < 10:
worker_bee = worker_bees[x]
worker_bee_x = worker_bee[0]
worker_bee_x += 1
worker_bee[0] = worker_bee_x
worker_bees_x = worker_bee
x += 1
i += 1
worker_bee_movement()
更改以下行:
worker_bees[x]
是一个元组,因此worker_bee = worker_bees[x]
然后使worker_bee
成为一个元组,您的worker_bee[0] = worker_bee_x
将失败:为了说明这一点,
(1,2,3)[0] = 3
是不允许的,[1,2,3][0] = 3
是允许的并使用
range
创建列表列表相关问题 更多 >
编程相关推荐