Какую последовательность чисел даст вам вызов функции range 8


Скачай курс
в приложении
Перейти в приложение
Открыть мобильную версию сайта
© 2013 — 2023. Stepik
Наши условия использования и конфиденциальности

Public user contributions licensed under cc-wiki license with attribution required
Какую последовательность чисел даст вам вызов функции range 8



Скачай курс
в приложении
Перейти в приложение
Открыть мобильную версию сайта
© 2013 — 2023. Stepik
Наши условия использования и конфиденциальности

Public user contributions licensed under cc-wiki license with attribution required
Описание функции range с примерами для Python 3
Если вы опытный разработчик, или даже новичок, вы, несомненно, слышали о функции Python range() . Но что же она делает? В двух словах, она генерирует список чисел, который обычно используется для работы с циклом for . Существует много вариантов использования. Зачастую, ее используют, когда нужно выполнить действие X раз, где вы можете использовать индекс. В других случаях вам, возможно, понадобится сделать итерацию по списку (или по другому итерируемому объекту), имея доступ к индексу.
Функция range() имеет небольшие отличия в работе на версии Python 2.x и 3.x , тем не менее у них остается одинаковая концепция. К этому вопросу мы доберемся немного позже.
Параметры range: star, stop, шаг
Функция range() принимает три параметра, например:
range(stop)
- stop: количество целых чисел для генерации, начиная с нуля. Например, range(3) == [0, 1, 2] .
range([start], stop[, step])
- start: число начала последовательности.
- stop: генерирует число до данного числа, но не включая его.
- step: разница между каждым числом из последовательности.
- Все параметры должны быть целыми числами.
- Каждый из параметров может быть положительным или отрицательным.
- range() (и Python в целом) основана на индексе 0, означая, что список индексов начинается с 0, а не 1, например. Синтаксис, предоставляющий доступ к первому элементу в списке — mylist[0] . Поэтому, последнее целое число, сгенерированное функцией range() зависит от stop , но не будет включать его. Например, range(0, 5) генерирует целые числа 0, 1, 2, 3, 4, но не включая 5.
Примеры функции range()
Простое применение с циклом for:
>>> # 5 чисел начиная с 0 >>> for i in range(5): print(i) 0 1 2 3 4 >>> # числа с 3 до 6 (не включая его) >>> for i in range(3, 6): print(i) 3 4 5 >>> # числа с 4 до 10 (не включая его) с шагом 2 >>> for i in range(4, 10, 2): print(i) 4 6 8 >>> # числа с 0 до -10 (не включая его) с шагом -2 >>> for i in range(0, -10, -2): print(i) 0 -2 -4 -6 -8А это пример итерации по списку.
>>> my_list = ['один', 'два', 'три', 'четыре', 'пять'] >>> my_list_len = len(my_list) >>> for i in range(0, my_list_len): print(my_list[i]) один два три четыре пятьВ качестве параметра stop мы передали длину списка (5).
Range полезна в итерации с условиями. Рассмотрим примере песни “99 Bottles of Beer on the Wall…” со следующим кодом:
for i in range(99, 0, -1): if i == 1: print('1 bottle of beer on the wall, 1 bottle of beer!') print('So take it down, pass it around, no more bottles of beer on the wall!') elif i == 2: print('2 more bottles of beer on the wall, 2 more bottles of beer!') print('So take one down, pass it around, 1 more bottle of beer on the wall!') else: print(' bottles of beer on the wall, bottles of beer!'.format(i)) print('So take it down, pass it around, more bottles of beer on the wall!'.format(i - 1))Мы получаем следующий результат:
99 bottles of beer on the wall, 99 bottles of beer! So take one down, pass it around, 98 more bottles of beer on the wall! 98 bottles of beer on the wall, 98 bottles of beer! So take one down, pass it around, 97 more bottles of beer on the wall! 97 bottles of beer on the wall, 97 bottles of beer! So take one down, pass it around, 96 more bottles of beer on the wall! . 3 bottles of beer on the wall, 3 bottles of beer! So take one down, pass it around, 2 more bottles of beer on the wall! 2 more bottles of beer on the wall, 2 more bottles of beer! So take one down, pass it around, 1 more bottle of beer on the wall! 1 bottle of beer on the wall, 1 bottle of beer! So take it down, pass it around, no more bottles of beer on the wall!Прекрасно! Наконец-то вы видите настоящую силу Python. Если вы еще немного в замешательстве, рекомендую прочитать статью 99 бутылок пива (Википедия).
range против функций xrange в python
Вы должно быть слышали о функции, известной как xrange() . Эта функция представлена в Python 2.x, и была переименована в range() в Python 3.x. Так в чем же разница? В Python 2.x range() создавала список, а xrange() возвращала итератор — объект последовательности. Мы можем увидеть это в следующем примере:
# Python 3.x >>> range(1) range(0, 1) >>> type(range(1)) range'> # Python 2.x >>> range(1) [0] >>> type(range(1)) list'>В Python 3.x. у функции range() есть свой собственный тип. Говоря языком простых терминов, если вы хотите воспользоваться range() в цикле for , вы сделаете это с легкостью. Однако вы не можете использовать его как объект списка. Например, вы не можете разбить на срезы тип range .
Когда вы используете итератор, каждый цикл оператора for выдает мгновенно последующий номер на лету. В то время как исходная функция range() производит все числа мгновенно, прежде чем цикл for начнет выполняться.
Проблема с исходной функцией range() (в Python 2.x) заключалась в том, что она требовала очень большой объем памяти при создании большого количества чисел. Однако в нем, как правило, можно работать быстрее с небольшим количеством чисел.
Обратите внимание, что в Python 3.x вы все равно можете создать список, передав генератор, возвращенный функции list() . Следующим образом:
Решение модуля 7.2 «Поколение python: курс для начинающих»
На этой странице представлены ответы и полные решения на питоне на модуль (урок) из курса «Поколение python: курс для начинающих».
Какую последовательность чисел даст вам вызов функции range(8) ?
0, 1, 2, 3, 4, 5, 6, 7Какую последовательность чисел даст вам вызов функции range(1, 8) ?
1, 2, 3, 4, 5, 6, 7Какую последовательность чисел даст вам вызов функции range(3, 11, 2) ?
3, 5, 7, 9Какую последовательность чисел даст вам вызов функции range(10, 0, -2) ?
10, 8, 6, 4, 2Сколько итераций сделает цикл?
for _ in range(1, 6):
print(‘Python rocks!’)
Последовательность чисел 1
Даны два целых числа m и n (m≤n). Напишите программу, которая выводит все числа от m до n включительно.
# Получаем начальное значение c и преобразуем его в целое число. c = int(input()) # Получаем конечное значение v и преобразуем его в целое число. v = int(input()) # Запускаем цикл, который будет проходить через все числа от c до v включительно. for i in range(c, v+1): print(i)
Последовательность чисел 2
Даны два целых числа m и n. Напишите программу, которая выводит все числа от m до n включительно в порядке возрастания, если m < n, или в порядке убывания в противном случае.
# Получаем начальное значение n и преобразуем его в целое число. n = int(input()) # Получаем конечное значение m и преобразуем его в целое число. m = int(input()) # Если n меньше m, то это возрастающая последовательность. if n < m: # Запускаем цикл, который будет проходить через все числа от n до m включительно. for i in range(n, m + 1): print(i) else: # Запускаем цикл, который будет проходить через все числа от n до m включительно в убывающем порядке. for i in range(n, m - 1, -1): print(i)
Последовательность чисел 3 ?️
Даны два целых числа m и n (m > n). Напишите программу, которая выводит все нечетные числа от m до n включительно в порядке убывания.
# Считываем начальное значение m и преобразуем его в целое число. m = int(input()) # Считываем конечное значение n и преобразуем его в целое число. n = int(input()) # Вычисляем значение start как ближайшее нечетное число, меньшее или равное m. start = ((m - 1) // 2) * 2 + 1 # Запускаем цикл, который будет проходить через нечетные числа в убывающем порядке, начиная с start и заканчивая n - 1 с шагом -2. for i in range(start, n - 1, -2): print(i)
Последовательность чисел 4
Даны два натуральных числа m и n (m≤n). Напишите программу, которая выводит все числа от m до n включительно удовлетворяющие хотя бы одному из условий:
число кратно 17;
число оканчивается на 9;
число кратно 3 и 5 одновременно.# Получаем начальное значение m и преобразуем его в целое число. m = int(input()) # Получаем конечное значение n и преобразуем его в целое число. n = int(input()) # Запускаем цикл, который будет проходить через числа от m до n включительно. for i in range(m, n + 1): # Проверяем, выполняются ли условия: i делится на 17, i оканчивается на 9, i делится на 15. if i % 17 == 0 or i % 10 == 9 or i % 15 == 0: print(i)
Таблица умножения
Дано натуральное число n. Напишите программу, которая выводит таблицу умножения на n.
# Получаем число n и преобразуем его в целое число. n = int(input()) # Запускаем цикл, который будет проходить через числа от 1 до 10 (включительно). for i in range(1, 11): print(n, 'x', i, '=', n * i)





