Новое в python - работа с вложенными циклами. Я пытаюсь нарисовать 4 квадрата из импорта черепах, но код только dr aws 1 - PullRequest
0 голосов
/ 17 апреля 2020

Я надеюсь, что кто-то может просветить меня об этом! Я очень, очень новичок в python и не могу разобраться с этим! Не могли бы вы помочь / объяснить ...

Я считаю, что следующий код должен нарисовать 4 квадрата подряд. Это упражнение для изучения вложенных циклов. Похоже, он рисует 4 квадрата в одном месте, не двигаясь вперед, чтобы нарисовать их рядом на одной линии.

# Draw Squares across page
from turtle import *
number_of_shapes = 4

for number_of_shapes in range(1, number_of_shapes + 1) :
# Draw a Square
 for sides in range (1, 5) :
        forward (40)
        right (90)

# Move forward to start of next square
penup ()
forward (50)
pendown ()

Ответы [ 2 ]

0 голосов
/ 17 апреля 2020

Решение, которое вы написали, выглядит хорошо, возможно, есть проблема с отступом, которая наиболее важна в Python, потому что она представляет блоки кода, как это делают другие языки с {}. Другое дело, что вы используете number_of_shapes в первой переменной l oop в качестве переменной итерации, что может вызвать проблему, поскольку l oop сохраняет число (1, 2, 3, 4, ...) в этой переменной. Вы можете попробовать, как это работает, просто l oop.

for x in range(1, 5):
    print(x)

Попробуйте изменить это значение на другую переменную (for x in range(1, number_of_shapes + 1):) или некоторых разработчиков, если им не нужно использовать эту переменную в коде они просто используют _

0 голосов
/ 17 апреля 2020

Следующие работы. Что-то не так с вашим отступом?

#Draw Squares across page
from turtle import * 
number_of_shapes = 4

for number_of_shapes in range(1, number_of_shapes + 1):

    #Draw a Square
    for sides in range(1, 5): 
        forward(40) 
        right(90)

    #Move forward to start of next square
    penup() 
    forward(50) 
    pendown()

Я предполагаю, что ваш код был таким:

#Draw Squares across page
from turtle import * 
number_of_shapes = 4

for number_of_shapes in range(1, number_of_shapes + 1):

    #Draw a Square
    for sides in range(1, 5): 
        forward(40) 
        right(90)

        #Move forward to start of next square
        penup() 
        forward(50) 
        pendown()

Поэтому вместо рисования квадрата и его перемещения вы рисуете линия, а затем двигаться.

...