tak.lol
30 ноябрь 2024
12
0
Не нравится 0 Нравится

Функция range()

Давай поговорим о range в Python. Если ты когда-либо использовал цикл for, то, скорее всего, уже встречал эту волшебную функцию. range — это как швейцарский нож для программистов: он универсален и всегда под рукой, когда нужно что-то сделать с числами. Давай разберёмся, как он работает и какие трюки можно с ним провернуть.



Что такое range?


range() — это встроенная функция, которая генерирует последовательность чисел. Она может принимать один, два или три аргумента:



  • start: начальное значение (по умолчанию 0)

  • stop: конечное значение (не включительно)

  • step: шаг между значениями (по умолчанию 1)



Простой пример использования


Давай начнём с простого:




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


Этот код выведет:



0
1
2
3
4

Здесь range(5) создаёт последовательность от 0 до 4. Легко, правда?



Начинаем с другого числа


Теперь давай зададим начальное значение:




for i in range(2, 8):
    print(i)


Вывод будет таким:



2
3
4
5
6
7

Здесь мы начали с 2 и закончили на 7. Обрати внимание! 8 не включается в результат. Это как вечеринка, где ты не хочешь, чтобы пришёл твой бывший — просто не приглашай его!



Шаги больше единицы


А теперь добавим шаг:




for i in range(0, 10, 2):
    print(i)


Этот код выведет:



0
2
4
6
8

Здесь мы начинаем с 0, заканчиваем на 9 и двигаемся с шагом 2. Это как если бы ты играл в «Угадай число», но тебе сказали, что каждое второе число — это твой шанс!



Отрицательный шаг


Но подожди! range может делать и обратные ходы. Давай посмотрим:




for i in range(5, 0, -1):
    print(i)


Вывод будет:



5
4
3
2
1

Здесь мы начали с 5 и шли обратно до 1. Это как спускаться по лестнице, когда ты забыл, что у тебя есть лифт!



Преобразование в список


Иногда нам нужно получить все эти числа в виде списка. Не проблема! Просто оберни range() в list():




numbers = list(range(5))
print(numbers)


Это даст тебе:



[0, 1, 2, 3, 4]

Теперь у тебя есть список чисел! Это как собрать всех своих друзей на вечеринку — теперь ты знаешь, кто пришёл.



Еще один пример на Python



import numpy as np
import matplotlib.pyplot as plt

# Создаем массив значений x от 0 до 2π с шагом 0.1
x = np.arange(0, 2 * np.pi, 0.1)

# Вычисляем значения y как синус от x
y = np.sin(x)

# Создаем график
plt.figure(figsize=(10, 5))
plt.plot(x, y, label='y = sin(x)', color='blue')

# Добавляем заголовок и метки осей
plt.title('Синусоидальная волна')
plt.xlabel('x (радианы)')
plt.ylabel('y (значение синуса)')

# Добавляем сетку и легенду
plt.grid()
plt.legend()

# Показываем график
plt.show()


Объяснение кода:
1. Импортируем библиотеки: Мы используем numpy для работы с массивами и matplotlib.pyplot для визуализации.
2. Создаем массив x: Используем np.arange() для создания массива значений от 0 до 2π (примерно 6.28) с шагом 0.1.
3. Вычисляем значения y: Мы вычисляем синус для каждого значения x.
4. Создаем график: Используем plt.plot() для построения графика, добавляем заголовок, метки осей и сетку для удобства восприятия.
5. Показываем график: В конце вызываем plt.show(), чтобы отобразить график.

Как это выглядит:
Когда ты запустишь этот код, ты увидишь красивую синусоидальную волну на графике, где по оси X откладываются радианы, а по оси Y — значения синуса. Это наглядный пример того, как можно использовать range() (или аналогичные функции) для создания данных и их визуализации!

Интересные факты о range()



  • Эффективность: range() не создаёт все числа сразу; он генерирует их по мере необходимости. Это экономит память!

  • Поддержка больших чисел: В Python 3 range() может генерировать последовательности до 9,223,372,036,854,775,807 (это больше, чем ты когда-либо сможешь сосчитать!)

  • Совместимость: В Python 2 была функция xrange(), которая работала аналогично, но возвращала генератор. В Python 3 эта функция была объединена с range().




Заключение: range как суперспособность


range() — это мощный инструмент в арсенале программиста. Он помогает не только в циклах, но и в других задачах, таких как создание списков и работа с индексами. Так что не забывай использовать его! Помни: чем больше ты знаешь о своих инструментах, тем проще будет решать задачи. Удачи в программировании!



Задания для закрепления материала


Задание 1: Список чисел
1. Используйте range() для создания списка чисел от 1 до 10.
2. Преобразуйте его в список и выведите результат.

Задание 2: Четные числа
1. Используйте range() для создания списка четных чисел от 2 до 20 (включительно).
2. Преобразуйте его в список и выведите результат.

Задание 3: Обратный порядок
1. Используйте range() для создания списка чисел от 10 до 1 (включительно) в обратном порядке.
2. Преобразуйте его в список и выведите результат.

Задание 4: Квадраты чисел
1. Используйте range() для создания списка чисел от 1 до 10.
2. Создайте новый список, содержащий квадраты этих чисел, и выведите его.

Задание 5: Сумма чисел
1. Используйте range() для создания списка чисел от 1 до 100.
2. Вычислите сумму всех этих чисел и выведите результат.

Эти задания помогут вам лучше понять, как использовать функцию range() для генерации последовательностей чисел и работы с ними в Python!
Комментарии к материалу
Комментировать
Ваш комментарий: