如何检查一组坐标是否在列表中

耶尔·阿尔伯茨(Jelle Aalberts)

我对编程非常陌生,但是我认为尝试对Langton的蚂蚁进行编程会很有趣。对于不认识的人来说,它是一只在木板上四处走动的蚂蚁。当它碰到一个红色方块时,它会向右转并为红色方块涂上白色,当它碰到一个白色方块时,它会向左转,将上一个白色方块涂成红色。利用我非常原始的编程知识,我想到了以下程序:

def Move(direction):
    global x
    global y
    if direction % 4 == 0:
        y += 1
    elif direction % 4 == 1:
        x += 1
    elif direction % 4 == 2:
        y -= 1
    else:
        x -= 1

Lred = []
Lwhite = []
# To make sure the program recognizes the squares as being white initially.
for i in range(-4, 5):
    for i2 in range(-4, 5):
        Lwhite.append([i2,i])

x = 0
y = 0
direct = 0

# Here I try to make the first 10 steps.
for i in range(10):
    print [x,y]
    if [x,y] in Lred:
        Lred.remove([x,y])
        Lwhite.append([x,y])
        direct-=1
    if [x,y] in Lwhite:
        print "white square"
        Lwhite.remove([x,y])
        Lred.append([x,y])
        direct+=1
    Move(direct)
print Lwhite
print Lred

如您所见,当您运行该程序时,它说方块在第二次达到[0,0]时是白色的,但是当它开始时,它应该已经被涂成红色。[0,0]在最后打印的红色正方形列表中,而不在白色正方形列表中。这就是我想要的。

但是,为什么它仍然认为“ Lwhite中的[if,x,y]”是正确的呢?

ppppery

每次您的蚂蚁碰到方形时,它都会检查它是否为红色。如果为红色,则将正方形变成白色并旋转蚂蚁。然后,它检查正方形是否为白色,这始终是正确的,因为如果正方形为红色,则上一步将其变为白色使用elif语句而不是if语句将解决此问题。

# Here I try to make the first 10 steps.
for i in range(10):
    print [x,y]
    if [x,y] in Lred:
        Lred.remove([x,y])
        Lwhite.append([x,y])
        direct-=1
    elif [x,y] in Lwhite:
        print "white square"
        Lwhite.remove([x,y])
        Lred.append([x,y])
        direct+=1
    Move(direct)
print Lwhite
print Lred

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SpriteKit-如何检查一组特定的坐标是否在SKShapeNode中?

来自分类Dev

SpriteKit-如何检查一组特定的坐标是否在SKShapeNode中?

来自分类Dev

检查列表中是否包含一组值

来自分类Dev

如何检查列表是否包含任意顺序的一组值-Python

来自分类Dev

如何检查列表是否包含任意顺序的一组值-Python

来自分类Dev

如何检查一组值中的一个值是否相等?

来自分类Dev

mysql-检查一组元素是否包含在另一组中

来自分类Dev

查询以检查一组列中是否存在值

来自分类Dev

检查变量是否在一组TLD中包含域名

来自分类Dev

如何检查数据库中是否已存在一组行并跳过迁移它们?

来自分类Dev

如何检查数据框中的列是否仅包含一组特定值

来自分类Dev

如何检查一组数字是否包含 PHP 中的某个数字?

来自分类Dev

如何检查一组数据中的字段之间是否存在重复项?

来自分类Dev

如何检查列表中每个字符串的第一个字符是否以一组特定的字符开头?

来自分类Dev

使用any()和all()检查列表是否包含一组值或另一组值

来自分类Dev

如何从列表中为一组中的特定值返回一组值的索引?

来自分类Dev

在Django中,如何从列表中构建一组条件?

来自分类Dev

检查 Python 数组是否仅包含一组数字列表

来自分类Dev

是否有Excel函数来检查值是否在一组值中?

来自分类Dev

如何将嵌套循环用于一组中两个坐标的距离?

来自分类Dev

如何使用圆公式在python中为圆生成一组坐标?

来自分类Dev

如何在 xy 平面中的给定 (x,y) 坐标内生成一组随机点?

来自分类Dev

如何检查一个类是否完全符合给定的一组特征?

来自分类Dev

如何将一组坐标转换为Char?

来自分类Dev

如何检查一组行是否覆盖整个时间范围

来自分类Dev

如何检查对象是否是JavaScript中一组特定原型的实例?

来自分类Dev

如何检查启动时是否执行了一组命令?

来自分类Dev

如何优化验证以检查是否存在一组 cookie?

来自分类Dev

检查对象是否在javascript中具有一组属性

Related 相关文章

  1. 1

    SpriteKit-如何检查一组特定的坐标是否在SKShapeNode中?

  2. 2

    SpriteKit-如何检查一组特定的坐标是否在SKShapeNode中?

  3. 3

    检查列表中是否包含一组值

  4. 4

    如何检查列表是否包含任意顺序的一组值-Python

  5. 5

    如何检查列表是否包含任意顺序的一组值-Python

  6. 6

    如何检查一组值中的一个值是否相等?

  7. 7

    mysql-检查一组元素是否包含在另一组中

  8. 8

    查询以检查一组列中是否存在值

  9. 9

    检查变量是否在一组TLD中包含域名

  10. 10

    如何检查数据库中是否已存在一组行并跳过迁移它们?

  11. 11

    如何检查数据框中的列是否仅包含一组特定值

  12. 12

    如何检查一组数字是否包含 PHP 中的某个数字?

  13. 13

    如何检查一组数据中的字段之间是否存在重复项?

  14. 14

    如何检查列表中每个字符串的第一个字符是否以一组特定的字符开头?

  15. 15

    使用any()和all()检查列表是否包含一组值或另一组值

  16. 16

    如何从列表中为一组中的特定值返回一组值的索引?

  17. 17

    在Django中,如何从列表中构建一组条件?

  18. 18

    检查 Python 数组是否仅包含一组数字列表

  19. 19

    是否有Excel函数来检查值是否在一组值中?

  20. 20

    如何将嵌套循环用于一组中两个坐标的距离?

  21. 21

    如何使用圆公式在python中为圆生成一组坐标?

  22. 22

    如何在 xy 平面中的给定 (x,y) 坐标内生成一组随机点?

  23. 23

    如何检查一个类是否完全符合给定的一组特征?

  24. 24

    如何将一组坐标转换为Char?

  25. 25

    如何检查一组行是否覆盖整个时间范围

  26. 26

    如何检查对象是否是JavaScript中一组特定原型的实例?

  27. 27

    如何检查启动时是否执行了一组命令?

  28. 28

    如何优化验证以检查是否存在一组 cookie?

  29. 29

    检查对象是否在javascript中具有一组属性

热门标签

归档