Предыдущая тема: while

Управляющие конструкции: for


Определения

Цикл — управляющая конструкция для многократного исполнения набора инструкций.

Синтаксис цикла for в Python:

# Сначала - ключевое слово for
# элемент - название переменной, в которую кладется следующая часть из набора.
# ключевое слово in
# набор - название переменной, которую можно перебрать по частям.
! Разные типы данных перебираются по-разному ! 
# ... команды - набор команд, которые будет повторяться для каждого элемента из набора
for элемент in набор:
    ... команды

Сведения

Чтобы перебрать числа в определенном интервале, можно использовать функцию range: она принимает два параметра - начало интервала и верхнюю границу интервала.

ВНИМАНИЕ! конец интервала в функции range в интервал не входит!

Например range(0, 10) позволит перебрать числа от 0 до 9, но не до 10!


Примеры

Примеры использования цикла for:

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

при переборе списка - берется каждый элемент списка (о списках ещё поговорим подробнее):

Элементы списка могут быть и строковыми/текстовыми данными:


Упражнения

Решите уравнение x^5 - 3x^2 - 20=0 . Известно, что решение x - целое число от -10 до 10.

for x in range(-10, 11):  # чтобы последнее число в цикле было 10
    # допишите код


Домашние задания

Перемножьте все четные числа от 1 до 100.

Подсказка: ответ начинается на 3424322470.....


***

Высота ракеты от времени при взлете от времени (недалеко от земли) зависит так:

-\frac{gt^2}{2} + \frac{u}{a} * (1 - (1 - at)(1 + \ln( \frac{1}{1-at} ))) .

Эта функция для конкретной ракеты с её параметрами u, a, k и известным ускорением свободного падения g уже написана - она выдает высоту в

метрах!

Ваше задание:

Для каждой секунды от нулевой до 240-ой:

  1. посчитать высоту в метрах, где находится ракета, вызвав функцию height и подав в нее один параметр - число секунд:
  2. вывести на экран время в секундах и высоту в километрах
  3. в зависимости от высоты, вывести на экран, в какой части атмосферы находится ракета.

Напишите код так, чтобы он выводил на экран информацию, в какой части атмосферы сейчас находится ракета. Части атмосферы (приблизительно):

  • тропосфера - от 0 до 20 км;
  • стратосфера - от 20 до 50 км;
  • мезосфера - от 50 до 85 км;
  • термосфера - от 85 до 800 км;
  • экзосфера - от 800 до 3000 км;
  • космос - выше 3000 км.

from math import log
def h(t, u=4000, a=1/360, k=0.9, g=9.81):
    return -g*t**2/2 + u/a * (1 - (1 - a*t)* (1 + log(1/(1-a*t))))
# допишите код, где это необходимо
for t in ...:
    h_km = ...
    print...
    if ...
        print...
    elif ...
        ...
    else:
        ...


Следующая тема: break и continue