Вопрос по поводу петель в функциях черепахи, а также вообще - PullRequest
0 голосов
/ 30 октября 2019

Вопрос по поводу циклов в целом:

Я новичок в Python, интересно, какова цель "для циклов"? Что они делают в функции / какой вывод они производят? Когда они используются?

(Я провел некоторое исследование о том, что такое цикл for, но большинство источников сбивают с толку / неясны, поэтому я решил спросить здесь.)

Вопрос об использовании циклов for в черепахе:

Требуется ли в следующем коде функция цикла for, занимающаяся заполнением цветов фигуры? Я видел, как некоторые люди используют его при демонстрации примеров заливки цветом, но я не совсем уверен, требуется ли он или что он делает.

# Example code: I know, nothing is shown 
# because I haven't told the function to draw anything, this is just an example.

t.pencolor("blue")
t.fillcolor("blue")
t.begin_fill()
for i in range(4):
    # remove 'pass' and write some code here, for loop is not doing any thing.
    pass
t.end_fill()

# I noticed that this code produced the same output as:

t.pencolor("blue")
t.fillcolor("blue")
t.begin_fill()
t.end_fill()

Ответы [ 2 ]

0 голосов
/ 30 октября 2019
for i in range(4):
  t.forward(150)
  t.right(90)

измените диапазон (1), диапазон (2), диапазон (3), тогда вы сможете увидеть красоту цикла.

0 голосов
/ 30 октября 2019

Вы используете петлю for всякий раз, когда вам нужно делать одно и то же снова и снова (a) .

Например (используя вашу проблемную область "черепаха"),скажем, вы хотели нарисовать круг (или что-то, приближающее круг). Вы можете сделать это с чем-то вроде:

pen down
for i in 1..360:
    go forward 1 unit
    turn right one degree
pen up

Альтернативой может быть довольно длинная последовательность команд вида:

    got forward 1 unit
    turn right one degree
    got forward 1 unit
    turn right one degree
    got forward 1 unit
    turn right one degree
    : :
    got forward 1 unit
    turn right one degree

, которую никто не хочетчитать или отлаживать: -)


(a) Способ, которым я учу новичков, состоит в том, чтобы в основном познакомить их с тремя основными понятиями потока программ:

  • последовательность, делающая вещи последовательно в порядке;
  • итерация, делающая подобное много раз;и
  • выбор, выполнение разных вещей в зависимости от условий.
...