我想做一个棋盘

2024-03-29 21:32:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试制作一个棋盘,使用可变的color_值,并使用模数操作符来确定正方形是红色还是黑色。我不确定如何使用模运算符

speed(0)
penup()
setposition(-200,-200)
pendown()
color_value = 0

def red_square():
    color("red")
    for i in range(4):
        forward(40)
        left(90)
def black_square():
    begin_fill()
    for i in range(4):
        forward(40)
        left(90)

def make_squares():
    for i in range(2):
        if color_value / 2 == 0:
            begin_fill()
            red_square()
            end_fill()
        elif color_value / 2 != 0:
            black_square()
        color_value+1
        penup()
        forward(40)
        pendown()
            

make_squares()

Tags: inforvaluedefrangeredleftfill
3条回答

使用:

n % k == 0

当且仅当nk的精确倍数时,计算true。在初等数学中,这就是除法的余数

只要把if color_value / 2 == 0改成if color_value % 2 == 0

并将color_value+1更改为color_value+=1

确保你的方块不重叠

这是你的完整代码

    speed(0)
    penup()
    setposition(-200,-200)
    pendown()
    color_value = 0
    
    def red_square():
        color("red")
        for i in range(4):
            forward(40)
            left(90)
    def black_square():
        begin_fill()
        for i in range(4):
            forward(40)
            right(90)
    
    def make_squares():
        for i in range(2):
            if color_value % 2 == 0:
                begin_fill()
                red_square()
                end_fill()
            elif color_value % 2 != 0:
                black_square()
            color_value+=1
            penup()
            forward(40)
            pendown()
                
    
    make_squares()

我不知道您在哪里或为什么尝试使用模运算符,但为了更广泛地回答您关于如何使用模运算符的问题,模运算符%被放在两个数字之间,当第一个数字除以第二个数字时,表达式返回余数。例如:

3 % 2   # Returns 1 because 1 is the remainder when 3 is divided by 2

相关问题 更多 >