М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет241/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   237   238   239   240   241   242   243   244   ...   334
Байланысты:
Изучаем Python


Глава 15 • Генерирование данных
Случайное блуждание
В этом разделе мы используем Python для генерирования данных для случайного 
обхода, а затем при помощи Мatplotlib создадим привлекательное представление 
сгенерированных данных. 
Случайным блужданием 
(random walk) называется путь, 
который не имеет четкого направления, но определяется серией полностью случай-
ных решений. Представьте, что муравей сошел с ума и делает каждый новый шаг 
в случайном направлении; его путь напоминает случайное блуждание.
Случайное блуждание находит практическое применение в естественных науках: 
физике, биологии, химии и экономике. Например, пыльцевое зерно на поверх-
ности водяной капли движется по поверхности воды, потому что его постоянно 
подталкивают молекулы воды. Молекулярное движение в капле воды случайно, 
поэтому путь пыльцевого зерна на поверхности представляет собой случайное 
блуждание. Код, который мы напишем, найдет применение при моделировании 
многих реальных ситуаций.
Создание класса RandomWalk()
Чтобы создать путь случайного блуждания, мы напишем класс 
RandomWalk
, который 
принимает случайные решения по выбору направления. Классу нужны три атрибу-
та: переменная для хранения количества точек в пути и два списка для координат 
x
и 
y
каждой точки.
Класс 
RandomWalk
содержит всего два метода: 
__init__()
и 
fill_walk()
для вычис-
ления точек случайного блуждания. Начнем с метода 
__init__()
:
random_walk.py

from random import choice
class RandomWalk():
"""Класс для генерирования случайных блужданий."""

def __init__(self, num_points=5000):
"""Инициализирует атрибуты блуждания."""
self.num_points = num_points
# Все блуждания начинаются с точки (0, 0).

self.x_values = [0]
self.y_values = [0]
Чтобы принимать случайные решения, мы сохраним возможные варианты в списке 
и используем функцию 
choice()
из модуля 
random
для принятия решения 

. Затем 
для списка устанавливается количество точек по умолчанию, равное 5000, — до-
статочно большое, чтобы генерировать интересные закономерности, но достаточно 
малое, чтобы блуждания генерировались быстро 

. Затем в точке 

создаются 
два списка для хранения значений 
x
и 
y
, после чего каждый путь начинается с точ-
ки (0, 0).


Случайное блуждание
331
Выбор направления
Метод 
fill_walk()
, как показано ниже, заполняет путь точками и определяет на-
правление каждого шага. Добавьте этот метод в 
random_walk .py
:


Достарыңызбен бөлісу:
1   ...   237   238   239   240   241   242   243   244   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет