liqulrw 发表于 2020-6-17 16:50:49

检测列表中任意2个变量

在写乌龟吃鱼那题的时候,有个想法,我想加个“繁殖”,当有2条鱼遇到一起,就会随机在多生一个项。
fish=[]
while len(fish)<=9:
    fish.append()

def fish_move(fish):
    global d
    for i in fish:
      c=+random.randint(-1,1),i+random.randint(-1,1)]
      if 0<=c<=10 and 0<=c<=10:
            d.append(c)
      else:
            d=[]
            fish_move(fish)
            return d

我写的鱼的生成和运动,红的是生成结果。
[, , , , , , , , , ]

def breed(d):
    for i in d:
      if d.count(i)==2:
            new=
            d.append(new)
            print('a new fish is born at'+str(new))
            return d

然后我用count()就可以加上“繁殖”功能。
但我这时候想要,让2条鱼相距是1的时候就可以繁殖。x轴相等,y相差1,反之。
所以来问题了,怎么在列表里定义2个变量,就是在for i in list1,下再定义一个不是i的变量g,检测i是否与g,在【0】,【1】位数字上差1。
大佬们来个思路就好。

Twilight6 发表于 2020-6-17 17:01:07



这样应该可以的:

def breed(d):
    for i in range(len(d)):    # 循环鱼位置
      for i2 in range(i+1,len(d)):   # 遍历循环下一个鱼位置
            if d == d:   # 判断x 轴是否相等
                if abs(d - d) == 1:   # 判断他们 y 轴差的绝对值是否为 1   若是 繁殖小鱼

                  new=
                  d.append(new)
                  print('a new fish is born at'+str(new))
                  return d
页: [1]
查看完整版本: 检测列表中任意2个变量