Дополнительные возможности функций.




VI. Цикл for.

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

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

По примеру выше так же видно, что переменная i, демонстрирует очень полезное свойство – она меняет своё значение в диапазоне от 0 до числа n, причём само число n в этот диапазон не входит. Кстати эта переменная называется итератором.

На самом деле цикл for работает несколько иначе, но об этом мы поговорим подробнее, когда будем изучать коллекции.

У функции range есть ещё несколько возможностей. Рассмотрим пример ниже:

В функцию range (диапазон) – можно передавать один, два, или три аргумента.

Первый аргумент по умолчанию равен 0. Начало диапазона.

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

Третий аргумент по умолчанию равен 1. Шаг.

На примере выше переданы все три аргумента. Диапазон от 10 до 100, с шагом 15. Итератор принимает таким образом значения: 10, 25, 40,.. 85.

Значения этих аргументов должны быть целыми числами. Кстати они вполне могут быть и отрицательными.

Таким образом Если для range задано одно число, то итератор идет от 0 до заданного значения (не включая его).

Если задано два числа, то это начальное значение итератора и конечное.

Если задано три числа, то это не только начальное и конечное значение итератора, но и шаг итератора.

 

Когда какой цикл стоит использовать?

  • Цикл while нужен, когда какой-то кусок кода должен выполниться несколько раз, причем заранее неизвестно, сколько именно
  • Цикл for нужен, когда какой-то кусок кода должен выполниться несколько раз, при этом известно сколько раз еще до начала цикла

 

Дополнительные возможности функций.

Мы уже сталкивались с ситуациями, когда при выводе информации появляются лишние символы, например, лишние пробелы, или переводы строки. Предусмотрена возможность более тонкой настройки работы функции print.

Вспомним, что все объекты, которые мы передаём в функцию называются аргументами. Функция print может принимать неограниченное кол-во аргументов. По умолчанию она выводит их на экран в одну строку через пробел. На примере выше в 1 строке кода мы видим как раз классическое поведение этой функции. Только в коде появились пока непонятные sep=’ ‘ и end=’\n’. Sep (сокр. от separator – разделитель), end (окончание). Это строки, которыми соответственно разделяются аргументы функции print и которой оканчивается вывод. По умолчанию они равны пробелу и переводу строки (спецсимвол \n). Если мы передадим таким образом этим аргументам новые значения, то поведение функции print изменится, как в 3 строке кода. Значениями этих аргументов обязательно должны быть строки, но строки могут быть любыми.

Это касается не только функции print, но и многих других. У многих функций есть дополнительные аргументы, передав которым новые значения можно изменить результат работы этих функций. Например, в функции round есть аргумент, который позволяет указать кол-во знаков, после точки, до которого будет округляться значение. В функцию input можно передать одну строку, которая будет выведена перед срабатыванием ввода пользователя. И т.д.

Чуть выше были упомянуты спецсимволы строк, такие как \n. Буквально пару слов о них. Если в строке поставить символ обратный слеш \, то он и следующий за ним символ образует экранирующую последовательность. Такая последовательность воспринимается интерпретатором как единый специальный символ. Например, \n–перевод строки, \t – табуляция, \\ - обратный слеш, и т.д.

 

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

1) Напишите программу, которая выведет на экран целые числа от 100 до 0 включительно, каждое на новой строке.

2) Напишите программу, которая считает ввод пользователя – одно натуральное число, а затем выведет все натуральные числа от 1 до этого числа включительно.

Пример:

Ввод:

Вывод:

Куб числа 1 равен 1

Куб числа 2 равен 8

Куб числа 3 равен 27

Куб числа 4 равен 64

3) Напишите программу, которая считает шесть введённых пользователем вещественных чисел и найдёт их произведение. Если среди этих чисел окажется 0, то на него умножать не нужно. В решении обязательно используйте цикл for.

4) Напишите программу, которая считает ввод пользователя, а затем проведёт обратный отсчёт от этого числа до 0 включительно. Все числа выводите в одну строку через пробел.

5) Напишите программу, которая выведет в консоль пирамиду из символов * заданной высоты. Высоту задаёт пользователь.

Пример:

Ввод:

Вывод:

*

***

*****

*******



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-12-31 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: