如何在不使用define的情况下使用乌龟图形和嵌套循环创建棋盘?

凤凰城

我正在尝试使用嵌套循环和Python创建棋盘。我很难弄清楚如何用黑色填充特定的盒子以及如何创建64个盒子。到目前为止,我的编码是:

import turtle

t = turtle.Turtle()
t.speed(0)
t.penup() 
t.goto(0, 0)
t.pendown() 

for j in range(-150, 100, 50):
    for i in range(-150, 150, 50):
        t.penup()
        t.goto(i, j)
        t.pendown()
        t.begin_fill()
        for k in range(4):
            t.forward(50) 
            t.left(90) 
            t.color("black")
            t.end_fill()

for j in range(-100, 150, 50):
    for i in range(-100, 150, 50):
        t.penup()
        t.goto(i, j)
        t.pendown()
        t.begin_fill()
        for k in range(4):
            t.forward(50) 
            t.left(90) 
            t.end_fill()
            t.hideturtle()

turtle.done()
查贝尔

这将达到目的:

import turtle

def drawSquare(turtule, isBlack = False):
  if isBlack:
    t.begin_fill()
  for k in range(4):
    t.forward(50) 
    t.left(90) 
    t.color("black")
  t.end_fill()

t = turtle.Turtle()
t.speed(0)
t.penup() 
t.goto(0, 0)
t.pendown() 

lastWhite = False
for j in range(-150, 250, 50):
  lastWhite = not lastWhite
  for i in range(-150, 250, 50):        
      t.penup()
      t.goto(i, j)
      t.pendown()
      if lastWhite:
        drawSquare(t, True)
        lastWhite = False
      else:
        drawSquare(t)
        lastWhite = True


t.hideturtle()
turtle.done()

编辑:此代码不使用该drawSquare方法

import turtle

t = turtle.Turtle()
t.speed(0)
t.penup() 
t.goto(0, 0)
t.pendown() 

lastWhite = False
for j in range(-150, 250, 50):
  lastWhite = not lastWhite
  for i in range(-150, 250, 50):        
      t.penup()
      t.goto(i, j)
      t.pendown()
      if lastWhite:        
        t.begin_fill()
        for k in range(4):
          t.forward(50) 
          t.left(90) 
          t.color("black")
        t.end_fill()       
        lastWhite = False
      else:
        for k in range(4):
          t.forward(50) 
          t.left(90) 
          t.color("black")
        lastWhite = True


t.hideturtle()
turtle.done()


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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不使用嵌套for循环的情况下将两个列表合并到字典中

在不使用break的情况下脱离嵌套for循环

如何在不使用嵌套的for循环的情况下迭代两个列表?

如何在不使用内置函数sum和嵌套循环的情况下添加嵌套列表的值

如何在不使用for循环的情况下使用numpy数组访问列表的条目

如何在不使用会话的情况下获取图形令牌?

如何在不使用numpy或tensorflow中使用任何循环的情况下获取矩阵行?

如何在不使用ELB服务的情况下使用kops在AWS上创建Kubernetes集群?

如何在不使用json_decoding集合的情况下访问嵌套的json对象

如何在不使用选择对象的情况下替换嵌套表上方的句子

如何在不使用索引和切片的情况下访问嵌套列表中的值?

如何在不使用数据和功能的情况下绘制一些图形?(乌龟模拟)

如何在不使用swiftUI附带的幻灯片进行删除的情况下创建自定义删除按钮我不使用列表,仅使用foreach循环

如何在不使用循环的情况下使用filter()查询集

如何在不使用numpy在python中使用for循环的情况下实现矩阵映射?

如何在不使用循环的情况下多次打印?

如何在不使用for循环的情况下使用str_split拆分嵌套列表?

如何在不使用IB的情况下使用自定义UITabBar类创建UITabBarController?

如何在不使用std :: function创建类实例的情况下使用成员函数?

如何在R中不使用嵌套循环的情况下引用2个不同的数据帧

如何在不使用循环的情况下使用numpy.lexsort

如何在不使用for循环的情况下打印和保存多个ggplot图?

如何在不使用“goto”和“do while”循环的情况下进入程序的初始阶段?

如何在不使用 OrderedDict 的情况下按字母顺序对嵌套字典进行键排序

在不使用嵌套的 if 和 for 循环的情况下计算矩阵?

如何在不回收和不使用循环的情况下连接不同长度的向量?

如何在不使用 numpy 和括号的情况下将嵌套列表制作成矩阵

如何在不使用框架的情况下创建/显示不同的数据数组和对象?

如何在不使用 python 循环的情况下创建引用数据框和字典的当前列的条件列?