Kodomo

Пользователь

ДЗ 2

Прежде, чем делать домашнее задание, прочитайте все задачи. Начинайте делать с той задачи, которая кажется наиболее интересной и выполнимой. Если не получается, попробуйте сделать предшествующую. rinse, repeat.

Нужно сделать три задачки.

Задачи со звёздочкой кажутся мне дюже сложными.

  1. Напишите программу, в которой первой строкой задан список имён (например, names = [" аНЯ", "боРИС", "  ВАся", "гЕна"]), которая выводит на экран эти имена по одному в строке с заглавной буквы. В зависимости от степени перфекционизма вам может помочь help(str.strip).

  2. Напишите программу, в которой первой строкой задан список имён (например, names = [" аНЯ", "боРИС", "  ВАся", "гЕна"]), и второй строкой задан список фамилий (например, last_names = ["Борисова", "Васильев", "Геннадиев", "Денисовский"]), которая выводит на экран пары соответствующих имя + фамилия. (Аня Борисова, Борис Васильев, ...)

  3. Напишите программу, в которой первой строкой задаётся число n (например, n = 10), которая пишет факториал этого числа.

  4. Напишите программу, в которой первой строкой задаётся число n, которая пишет nое число Фибоначчи. (Числа Фибоначчи задаются правилом: fib[n] = fib[n-1] + fib[n-2], при этом fib[0] = fib[1] = 1).

  5. * Напишите программу, в которой первой строкой задаётся число a (например, a = 10), которая ищет такое целое число b, что [eb-b]=[a].

  6. Напишите программу, которая рисует квадратную решётку с шагом 30 пикселей.
  7. Напишите программу, которая рисует человечка.
  8. Напишите программу, которая рисует фрактал Папоротник. Для этого нужно завести список, в котором каждый элемент – это набор параметров в виде списка (см. таблицу ниже). Далее задайте произвольное начальное значение x и y. Затем 10000 раз повторите: выбрать произвольный набор параметров из спиcка, и примените к координатам такое преобразование: x' = ax + by + e, y' = cx + dy + f. И каждый раз рисуйте точку (маленький кружок) по координатам 10*x, 10*y

  9. * Напишите программу, которая рисует радугу в случайной точке экрана, случайного диаметра. В модуле random для этого есть функция randint(min, max).

a       b       c       d       e       f
0       0       0       0.16    0       0
0.85    0.04    -0.04   0.85    0       1.6
0.2     -0.26   0.23    0.22    0       1.6
-0.15   0.28    0.26    0.24    0       0.44