1000个同心正方形逐渐缩小,10种颜色,每种颜色100个正方形,最外层变长为1000

1000个同心正方形逐渐缩小,10种颜色,每种颜色100个正方形,最外层变长为1000 python怎么编程啊 python怎么编程啊😭

该回答引用chatgpt:

import turtle

# 定义参数
num_colors = 10
squares_per_color = 100
outer_square_length = 1000
inner_square_length = outer_square_length / num_colors
pen_size = 2

# 初始化画布和画笔
turtle.setup(outer_square_length*2, outer_square_length*2)
turtle.penup()
turtle.goto(-outer_square_length, outer_square_length)
turtle.pendown()
turtle.pensize(pen_size)

# 循环绘制正方形
for i in range(num_colors):
    # 选择颜色
    color = (i/(num_colors-1), 0, 1-i/(num_colors-1)) # 从红到蓝的渐变色
    turtle.color(color)
    for j in range(squares_per_color):
        # 绘制正方形
        turtle.forward(inner_square_length)
        turtle.right(90)
        turtle.forward(inner_square_length)
        turtle.right(90)
        turtle.forward(inner_square_length)
        turtle.right(90)
        turtle.forward(inner_square_length)
        turtle.right(90)
    # 缩小正方形
    outer_square_length -= inner_square_length*2
    inner_square_length = outer_square_length / num_colors
    turtle.penup()
    turtle.goto(-outer_square_length, outer_square_length)
    turtle.pendown()

# 隐藏画笔
turtle.hideturtle()

# 显示画布
turtle.done()


不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7612366
  • 除此之外, 这篇博客: 【图像处理】——比特平面原理和实现方法(全网较全面,含所有比特位图的分层方法)中的 Python实现 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    import cv2
    import numpy as np
    import matplotlib.pyplot as plt
    
    #更改为需要的图片路径
    img = cv2.imread(r'C:\Users\xxx\Desktop\dollar.tif',0)
    h,w = img.shape[0],img.shape[1]
    
    #处理过程
    new_img = np.zeros((h,w,8))#用于存放每个比特位图,行h列w高8
    for i in range(h):
        for j in range(w):
            n = str(np.binary_repr(img[i,j],8))  #将图像的灰度值转化为8位二进制数值,并且以str字符串的形式返回
            for k in range(8):
                new_img[i,j,k] = n[k]#依次从二进制的高位到低位赋值给new_img中,这样就将一个灰度值用8位的二进制表达出来了
    
    #依次显示
    for i in range(8):#将比特图从高到低显示出来,从第8比特图从第1比特图
        cv2.imshow('image',new_img[:,:,i])
        cv2.waitKey(0)
    

     

     

     

  • 您还可以看一下 李宁老师的Python 面试100讲(基于Python3.x)课程中的 十进制、二进制、八进制和十六进制之间的转换小节, 巩固相关知识点

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^