Инфоурок Информатика Другие методич. материалыВведение в программирование на языке Python. 5 Модуль. Теория. Цикл for.

Введение в программирование на языке Python. 5 Модуль. Теория. Цикл for.

Скачать материал

5 Модуль. Цикл for

 

Цикл с параметром

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

Цикл for, также называемый циклом с параметром, в языке Python богат возможностями. В цикле for указывается переменная и множество значений, по которому будет пробегать переменная. Множество значений может быть задано списком.

 

Пример:

 

for color in 'red', 'green', 'blue':

    print(color)

В этом примере в качестве множества значений используется список цветов. Переменная color последовательно  принимает значения 'red', 'green', 'blue'.

 

Пример:

 

Выведем на экран квадраты первых пяти простых чисел.

for i in 2, 3, 5, 7, 11:

    print(i ** 2)

 

Функция range()

 

Как правило, при использовании цикла for необходимо, чтобы переменная принимала значения от некоторого начального значения до некоторого конечного. Чтобы реализовать это, удобно использовать функцию range().

Пример:

Чтобы вывести на экран числа от 0 до n1, можно использовать цикл for вместе с функцией range():

 
for i in range(n):
    print(i)
 

В качестве n может использоваться числовая константа или переменная. Если значение n равно нулю или отрицательное, то тело цикла не выполнится ни разу.

 

Функция range() с двумя параметрами

 

Если требуется задать цикл от некоторого числа a до некоторого числа b, то можно использовать функцию range() с двумя параметрами:

 
for i in range(a, b):
    print(i)
 

Индексная переменная i будет принимать значения от a до b1, то есть первый параметр функции range(), вызываемой с двумя параметрами, задаёт начальное значение индексной переменной, а второй параметр — значение, которое индексная переменная принимать не будет. Если же ba, то цикл не будет выполнен ни разу.

Пример:

Чтобы просуммировать значения чисел от a до b можно воспользоваться следующей программой:

 

s = 0
for i in range(a, b):
    s += i
 

В этом примере переменная i принимает значения от a до b1, и значение переменной s последовательно увеличивается на указанные значения.

 

Функция range() с тремя параметрами

 

Наконец, чтобы организовать цикл, в котором индексная переменная будет уменьшаться, необходимо использовать функцию range с тремя параметрами. Первый параметр задает начальное значение индексной переменной, второй параметр — значение, до которого будет изменяться индексная переменная (не включая его!), а третий параметр — величину изменения индексной переменной.

Более формально, цикл for i in range(a, b, d) при > 0 задает значения индексной переменной = a, i = a + d, i = a + 2 * d и так для всех значений, для которых < b.

Если же < 0, то переменная цикла принимает значения = a, i = a - |d|, i = a - 2 * |d| и так для всех значений, для которых > b.

 

Пример:

 

Cделать цикл по всем числам от 100 до 1 можно при помощи следующей команды

 
range(100, 0, -1)

 

Задача 1.

 

Ряд

Даны два целых числа A и B (при этом AB). Выведите все числа от A до B включительно.

Входные данные

Вводятся два целых числа, не превосходящие 200 по абсолютному значению.

Выходные данные

Выведите ответ на задачу.

 

 

Задача 2.

 

Ряд — 2

Даны два целых числа A и B. Выведите все числа от A до B включительно в порядке возрастания, если A<B, или в порядке убывания в противном случае.

Входные данные

Вводятся два целых числа, не превосходящих 200 по абсолютному значению.

Выходные данные

Выведите ответ на задачу.

 

Задача 3.

 

Цифры числа

Дано 10-значное число. Выведите все цифры этого числа в обратном порядке по одной.

Входные данные

На вход подаётся натуральное 10-значное число.

Выходные данные

Выведите ответ на задачу. В качестве разделителя между цифрами можно использовать переводы строки и пробелы.

 

Задача 4

 

Диофантово уравнение

Даны числа abcd. Выведите в порядке возрастания все целые числа от 00 до 10001000 включительно, которые являются корнями уравнения ax3+bx2+cx+d=0.

Входные данные

Вводятся целые числа abc и d. Все числа не превосходят по модулю 30000.

Выходные данные

Выведите ответ на задачу. Если в указанном промежутке нет корней уравнения, то ничего выводить не нужно.

 

 

Задача 5.

 

Факториал

По данному целому неотрицательному n вычислите значение n!.

Входные данные

Вводится число n (0n15).

Выходные данные

Выведите ответ на задачу.

 

 

Задача 6.

 

Остатки

Даны целые неотрицательные числа abcd, при этом 0c<d. Выведите в порядке возрастания все числа от a до b, которые дают остаток c при делении на d.

В этой задаче нельзя использовать инструкцию if, операторы сравнения (< и т.д.), должен быть только один цикл.

Входные данные

На вход подаются четыре строки, в каждой из которых написано по одному неотрицательному целому числу — abcd. Все числа не превосходят 21090c<d.

Выходные данные

Выведите ответ на задачу.

 

Задача 6.

 

Четные числа

По данным двум натуральным числам A и B (AB) выведите все чётные числа на отрезке от A до B. В этой задаче нельзя использовать инструкцию if.

Входные данные

Вводятся два натуральных числа A и B.

Выходные данные

Выведите ответ на задачу

 

Примеры применения цикла for

Рассмотрим варианты применения цикла for на примерах задач.

 

Задача. Числа, не делящиеся на три

Выведите все числа от 1 до 99, которые не делятся на 3.

Решение

 
for i in range(1, 100):
    if i % 3 != 0:
        print(i)

 

Задача. Сумма n чисел

Необходимо вывести на экран сумму n чисел. В первой строке входных данных содержится число n — количество чисел. В следующих n строках содержатся сами числа.

Решение

n = int(input())
s = 0
for i in range(n):
    a = int(input())
    s = s + a
print(s)

 

Задача. Минимум из n чисел

Необходимо вывести на экран минимальное из n чисел. В первой строке входных данных содержится число n — количество чисел. В следующих n строках содержатся сами числа.

Решение

n = int(input())
m = int(input())
for i in range(n - 1):
    a = int(input())
    if a < m:
        m = a
print(m)

 

Это решение можно немного упростить с помощью функции min:

n = int(input())
m = int(input())
for i in range(n - 1):
    m = min(m, int(input()))
print(m)

 

Пусть известно, что все числа, которые подаются на вход, не превосходят какой-либо константы. Например, 109. Тогда можно не считывать отдельно первое из чисел:

n = int(input())
m = 10 ** 9
for i in range(n):
    m = min(m, int(input()))
print(m)

 

Задача 7.

 

Количество нулей

Дано несколько чисел. Подсчитайте, сколько из них равны нулю, и выведите это количество.

Входные данные

Сначала вводится число n, затем вводятся ровно n целых чисел. Все числа во входных данных целые неотрицательные, не превосходящие 30000.

Выходные данные

Выведите ответ на задачу.

 

 

Задача 8.

 

Делители

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

Входные данные

На вход подаётся единственное натуральное число n (n1000).

Выходные данные

Выведите все делители числа в порядке возрастания. Делители можно выводить на одной строке, разделяя пробелом, или на разных строках.

 

Задача 9.

 

Лесенка

По данному натуральному числу n выведите лесенку из n ступенек, i-я ступенька состоит из чисел от 1 до i без пробелов.

Входные данные

На вход подаётся натуральное число n (n9).

Выходные данные

Выведите ответ на задачу.

 

Задача 10.

 

Сумма произведений соседних чисел

По заданной последовательности a1a2an чисел вычислите сумму a1a2+a2a3++an1an.

Входные данные

Первая строка входных данных содержит число n2. В следующих n строках вводится по одному числу. В i+1 строке содержится значение i-того элемента последовательности. Все числа во входном файле натуральные, не превосходящие 100.

Выходные данные

Выведите ответ на задачу.

 

 

Задача 11.

 

Сумма факториалов

По данному натуральном n вычислите сумму 1!+2!+3!+...+n!. В решении этой задачи можно использовать только один цикл.

Входные данные

Вводится натуральное число n, не превосходящее 30.

Выходные данные

Выведите ответ на задачу.

 

 

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Введение в программирование на языке Python. 5 Модуль. Теория. Цикл for."

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Инженер по автоматизации производства

Получите профессию

Менеджер по туризму

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

Python – это один из наиболее популярных современных языков программирования. Он пригоден для решения разнообразных задач и предлагает те же возможности, что и другие языки программирования: динамичность, поддержку ООП и кросс-платформенность.

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 665 111 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 29.12.2021 26913
    • DOCX 167.9 кбайт
    • 275 скачиваний
    • Рейтинг: 4 из 5
    • Оцените материал:
  • Настоящий материал опубликован пользователем Шкурин Дмитрий Николаевич. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Шкурин Дмитрий Николаевич
    Шкурин Дмитрий Николаевич
    • На сайте: 7 лет и 4 месяца
    • Подписчики: 5
    • Всего просмотров: 562085
    • Всего материалов: 185

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Интернет-маркетолог

Интернет-маркетолог

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Математика и информатика: теория и методика преподавания в профессиональном образовании

Преподаватель математики и информатики

500/1000 ч.

от 8900 руб. от 4150 руб.
Подать заявку О курсе
  • Сейчас обучается 41 человек из 23 регионов
  • Этот курс уже прошли 53 человека

Курс профессиональной переподготовки

Управление сервисами информационных технологий

Менеджер по управлению сервисами ИТ

600 ч.

9840 руб. 5600 руб.
Подать заявку О курсе
  • Сейчас обучается 26 человек из 19 регионов
  • Этот курс уже прошли 34 человека

Курс профессиональной переподготовки

Информатика: теория и методика преподавания в образовательной организации

Учитель информатики

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 494 человека из 73 регионов
  • Этот курс уже прошли 1 525 человек

Мини-курс

Информационные технологии в науке и бизнесе: от концепции до реализации

10 ч.

1180 руб. 590 руб.
Подать заявку О курсе

Мини-курс

Эффективное управление запасами

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Стратегии и инструменты для эффективного продвижения бизнеса в интернете

10 ч.

1180 руб. 590 руб.
Подать заявку О курсе
  • Сейчас обучается 22 человека из 15 регионов