Решение задач Аннотация. Урок посвящен циклу for
Скачать 3.04 Mb.
|
Отрицательный шаг генерацииЕсли шаг генерации является положительным числом, то генерируемая последовательность будет возрастать. Мы можем указать отрицательный шаг генерации (третий параметр), что приведет к генерированию убывающей последовательности. В случае отрицательного шага, мы должны гарантировать, что старт последовательности (первый параметр) больше чем конец последовательности (второй параметр). Например, вызов функции range(20, 16, -1) создаст последовательность чисел 20, 19, 18, 17, а вызов функции range(20, 10, -3) сгенерирует последовательность 20, 17, 14, 11. Напишем программу, которая отсчитывает от 5 до 1, а затем выводит текст Взлетаем!!!: for i in range(5, 0, -1): print(i, end=' ') print('Взлетаем!!!') Результатом будет: 5 4 3 2 1 Взлетаем!!! Если величина шага отрицательна и первый параметр меньше второго, то функция range() генерирует пустую последовательность. Например, вызов функции range(1, 10, -1) приводит к генерации пустой последовательности. Примеры использования функции range()
ПримечанияПримечание 1. Функция range() может принимать от одного до трех параметров: range(n), range(n, m), range(n, m, k) первый параметр – это старт последовательности (включительно); второй параметр – это стоп последовательности (не включительно); третий параметр – это величина шага. Примечание 2. Функция range() может генерировать только целые числа, включая отрицательные. Примечание 3. Величина шага не может равняться нулю. Следующий код: for i in range(1, 10, 0): print(i) приведет к ошибке ValueError: range() arg 3 must not be zero. ЗАДАЧИ 1.Какую последовательность чисел даст вам вызов функции range(8)? 1, 2, 3, 4, 5, 6, 7, 8 0, 1, 2, 3, 4, 5, 6, 7, 8 пустая последовательность 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7 2.Какую последовательность чисел даст вам вызов функции range(1, 8)? пустая последовательность 1, 2, 3, 4, 5, 6, 7, 8 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7, 8 3.Какую последовательность чисел даст вам вызов функции range(3, 11, 2)? 3, 5, 7, 9, 11 3, 5, 7, 9 3, 4, 5, 6, 7, 8, 9, 10, 11 3, 4, 5, 6, 7, 8, 9, 10 пустая последовательность 4.Какую последовательность чисел даст вам вызов функции range(10, 0, -2)? 10, 8, 6, 4, 2 0, 2, 4, 6, 8, 10 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 10, 8, 6, 4, 2, 0 пустая последовательность 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 2, 4, 6, 8, 10 5.Сколько итераций сделает цикл? for _ in range(1, 6): print('Python rocks!') 1 4 5 6 |