Циклическое выполнение команд в зависимости от свойств данных

О соотнесении рекурсии и цикла: как правило необходимости в дополнительных пространствах имён нет, достаточно просто повторять одну и ту же последовательность действий, пока не изменятся свойства обрабатываемых данных.

Цикл

TODO

Немного про форматные строки

Д/З

  1. Прочитать и прощёлкать седьмую главу учебника

  2. Вводить целые числа до тех пор, пока среди них не встретится 0, и посчитать, сколько среди них было кратных трём (0 не считается). Вывести это значение.
    • Ввод:

     1
     2
     3
     4
     3
     7
     9
     3
     7
     0
    • Вывод:

     4
  3. Ввести натуральное число N и проверить, является ли оно точным кубом некоторого натурального числа. Сравнивать вещественные числа (то есть проверять, содержит ли n**(1/3) ненулевую дробную часть) запрещено.

    • Алгоритм: для всех чисел i от 1 проверять, не равно ли i**3 == N, заканчивать цикл, когда i**3 больше N
  4. Ввести натуральное N и вывести все простые числа, не превосходящие N (простыми называются числа, которые делятся только на себя и на 1)
    • Алгоритм:
        для всех i от 2 до N (1 — не считается простым)
            для всех k от 3 до i-1 (на самом деле до корня из i, ну да ладно)
                если i делится на k, оно не простое, можно больше не проверять
            если i ни на какое k не делится, оно простое, вывести
  5. Ввести два натуральных числа, N и R и нарисовать пирамидку из N слоёв окружностей радиуса R (можно воспользоваться функцией turtle.circle(радиус)). Вершина пирамиды содержит одну окружность, второй слой — две и т. д.

    • Ввод:

        5,30

      Вывод pyramid.png