Главная страница

книга заданий пайтон. книга практических заданий, pyton. Сборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python


Скачать 2.24 Mb.
НазваниеСборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python
Анкоркнига заданий пайтон
Дата02.10.2022
Размер2.24 Mb.
Формат файлаdocx
Имя файлакнига практических заданий, pyton.docx
ТипСборник упражнений
#709959
страница36 из 69
1   ...   32   33   34   35   36   37   38   39   ...   69

Упражнение 147. Проверка карточки


(102 строки) Карточка для игры в лото считается выигравшей, если в ней на одной линии расположились пять выпавших номеров. Обычно игроки зачеркивают номера на своих карточках. В данном упражнении мы будем обнулять в словаре выпавшие номера.

Напишите функцию, принимающую на вход карточку в качестве параметра. Если карточка содержит последовательность из пяти нулей (по вертикали, горизонтали или диагонали), функция должна возвращать True, в противном случае – False.

В основной программе вы должны продемонстрировать на примере работу функции, создав и отобразив несколько карточек с указанием того, какие из них выиграли. В вашем примере должно быть как минимум по одной карточке с выигрышем по вертикали, горизонтали и диагонали, а также карточки, на которые выигрыш не выпал. При решении этой задачи воспользуйтесь функциями из упражнения 146.

Подсказка. Поскольку отрицательных чисел на карточке лото быть не может, нахождение линии со всеми нулями сводится к поиску последовательности чисел, сумма которых равна нулю. Так вам будет легче решить это упражнение.

Упражнение 148. Играем в лото


(88 строк) В данном упражнении мы напишем программу, выполняющую симуляцию игры в лото с одной картой. Начните с генерирования списка из всех возможных номеров для выпадения (от B1 до O75). После этого перемешайте номера в хаотичном порядке, воспользовавшись функцией shuffle из модуля random. Вытаскивайте по одному номеру из списка и зачеркивайте номера, пока карточка не окажется выигравшей. Проведите 1000 симуляций и выведите на экран минимальное, максимальное и среднее количество извлечений номеров, требующееся для выигрыша. При решении этой задачи вы можете воспользоваться функциями из упражнений 146 и 147.


Глава 7 Файлы и исключения


Все программы, которые вы писали до сих пор, считывали данные с клавиатуры. В связи с этим пользователю необходимо было повторять ввод каждый раз, когда программа запускалась. Но это бывает не слишком удобно, особенно если речь идет о большом массиве входных данных. Также все ваши предыдущие программы выводили результаты исключительно на экран. Это нормально, если дело касается нескольких строчек, предназначенных для пользователя программы. Но если выходных данных будет много или они могут потребоваться в дальнейшем для анализа в другой программе, вариант с выводом на экран просто не подойдет.

Эффективная работа с файлами решит обе перечисленные проблемы.

Файлы можно назвать относительно постоянным местом хранения информации. Данные, которые записываются в файл в процессе выполнения программы, остаются в нем после завершения ее работы и даже после выключения компьютера. Это позволяет хранить в файлах информацию, которая может быть необходимой на протяжении определенного периода времени или служить источником данных для сторонних программ, запус каемых многократно. Вы наверняка сталкивались в работе с текстовыми файлами, электронными таблицами, изображениями и видео. Да и сами программы на языке Python хранятся в файлах.

Файлы обычно делятся на текстовые и двоичные, или бинарные. В текстовых файлах хранятся исключительно последовательности битов, представляющие собой символы в определенной кодировке, например ASCII или UTF-8. Подобные файлы можно просматривать и редактировать при помощи текстовых редакторов. Все программы, которые вы писали до сих пор, сохранялись на диске в виде текстовых файлов.

Подобно текстовым, двоичные файлы также хранят последовательность битов, представляющую определенные данные. Отличие состоит в том, что эти данные не ограничиваются одними только символами. Файлы, содержащие изображения, звук или видео, являются типичными примерами двоичных файлов. В данной книге мы ограничимся работой с текстовыми файлами, поскольку их легко создавать и просматривать в вашем любимом редакторе. При этом большинство действий и принципов, применяемых к текстовым файлам, прекрасно работают и в отношении двоичных файлов.

7.1. открытие файлов


Чтобы начать процесс чтения данных из файла, его предварительно следует открыть. То же самое необходимо сделать и перед записью информации в файл. Открыть файл в Python можно при помощи функции open.

Функция open принимает два аргумента. Первый из них указывает имя файла, который необходимо открыть. Второй аргумент также является текстовым и характеризует режим доступа (access mode) к файлу. Мы будем работать с тремя режимами доступа к файлу: на чтение (r), запись (w) и добавление (a).

В качестве выходного значения функция open возвращает файловый объект (file object). При этом функция с аргументами обычно указывается справа от знака присваивания, а переменная, характеризующая файловый объект, – слева, как показано ниже.

inf = open("input.txt", "r")

После открытия файла к соответствующему ему файловому объекту можно применять методы, позволяющие извлекать информацию. То же самое можно сказать и о записи данных в файл – методы будут другие, а принципы те же. Эти методы мы подробно рассмотрим в следующих разделах главы. После завершения чтения или записи файл должен быть закрыт, для чего применяется соответствующий метод close.
1   ...   32   33   34   35   36   37   38   39   ...   69


написать администратору сайта