Книга «Изучаем Python»



Pdf көрінісі
бет175/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   171   172   173   174   175   176   177   178   ...   238
Байланысты:
2 5343781172763690906

УПРАЖНЕНИЯ

15-3 .  Молекулярное  движение:  измените  программу  rw_visual .py  и  замените  plt .scatter() 

вызовом plt .plot() . Чтобы смоделировать путь пыльцевого зерна на поверхности водяной 

капли,  передайте  значения  rw .x_values  и  rw .y_values  и  включите  аргумент  linewidth .  Ис-

пользуйте 5000 точек вместо 50 000 .

15-4 . Измененные случайные блуждания: в классе RandomWalk значения x_step и y_step 

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

[1, -1], а расстояние — из списка [0, 1, 2, 3, 4] . Измените значения в этих списках и посмо-

трите, что произойдет с общей формой диаграммы . Попробуйте применить расширенный 

список вариантов расстояния (например, от 0 до 8) или удалите –1 из списка направлений 

по оси 

x или y .

15-5 . Рефакторинг: метод fill_walk() получился слишком длинным . Создайте новый метод 

с именем get_step(), который определяет расстояние и направление для каждого шага, по-

сле чего вычисляет этот шаг . В результате метод fill_walk() должен содержать два вызова 

get_step():

x_step = get_step()

y_step = get_step()

Рефакторинг сокращает размер fill_walk(), а метод становится более простым и понятным .

Моделирование бросков кубиков в Pygal

В этом разделе мы воспользуемся пакетом визуализации Pygal для создания фай-

лов с масштабируемой векторной графикой. Такие файлы хорошо подходят для 

визуализаций, имеющих разное представление на экранах разного размера, потому 

что изображение автоматически масштабируется по размерам экрана зрителя. Если 

вы собираетесь использовать свои визуализации в веб-приложениях, Pygal будет 

хорошим вариантом; ваша работа будет хорошо смотреться на любом устройстве, 

которое будет использоваться для просмотра ваших визуализаций.

В этом проекте мы займемся анализом результатов бросков кубиков. При броске 

одного шестигранного кубика существует равная вероятность выпадения любого 

числа от 1 до 6. С другой стороны, при броске двух кубиков некоторые суммы 

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

наиболее вероятны, мы сгенерируем набор данных, представляющих брошенные 

кубики. Затем на базе данных большого количества бросков будет построена 

диаграмма, по которой можно определить, какие результаты более вероятны.

Броски кубиков часто используются в математике для пояснения различных типов 

анализа данных. Впрочем, они также находят применение в реальных приложе-

ниях — скажем, в казино и в обычных играх («Монополия», ролевые игры и т. д.).



328    Глава 15  •  Генерирование данных

Установка Pygal

Установите Pygal при помощи 

pip


. (Если вы еще не использовали 

pip


, обратитесь 

к разделу «Установка пакетов Python с использованием pip» на с. 227.)

В системах Linux и OS X команда должна выглядеть примерно так:

pip install --user pygal

В системе Windows она выглядит так:

python -m pip install --user pygal





Достарыңызбен бөлісу:
1   ...   171   172   173   174   175   176   177   178   ...   238




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

    Басты бет