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



Pdf көрінісі
бет108/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   104   105   106   107   108   109   110   111   ...   238
Байланысты:
2 5343781172763690906

УПРАЖНЕНИЯ

10-6 . Сложение: при вводе числовых данных часто встречается типичная проблема: поль-

зователь вводит текст вместо чисел . При попытке преобразовать данные в int происходит 

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

их и выводит результат . Перехватите исключение TypeError, если какое-либо из входных 

значений не является числом, и выведите удобное сообщение об ошибке . Протестируйте 

свою программу: сначала введите два числа, а потом введите текст вместо одного из чисел .

10-7 . Калькулятор: заключите код из упражнения 10-6 в цикл while, чтобы пользователь 

мог продолжать вводить числа, даже если он допустил ошибку и ввел текст вместо числа .

10-8 . Кошки и собаки: создайте два файла с именами cats .txt и dogs .txt . Сохраните минимум 

три клички кошек в первом файле и три клички собак во втором . Напишите программу, 

которая  пытается  прочитать  эти  файлы  и  выводит  их  содержимое  на  экран .  Заключите 

свой код в блок try-except для перехвата исключения FileNotFoundError и вывода понятного 

сообщения об отсутствии файла . Переместите один из файлов в другое место файловой 

системы; убедитесь в том, что код блока except выполняется, как и положено .

10-9 . Ошибки без уведомления: измените блок except из упражнения 10-8 так, чтобы при 

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

10-10 . Частые слова: зайдите на сайт проекта «Гутенберг» (http://gutenberg .org/) и найдите 

несколько книг для анализа . Загрузите текстовые файлы этих произведений или скопируй-

те текст из браузера в текстовый файл на вашем компьютере .

Для подсчета количества вхождений слова или выражения в строку можно воспользовать-

ся методом count() . Например, следующий код подсчитывает количество вхождений ‘row’ 

в строке:

>>> line = "Row, row, row your boat"

>>> line.count('row')

2

>>> line.lower().count('row')



3


204    Глава 10  •  Файлы и исключения

Обратите внимание: преобразование строки к нижнему регистру функцией lower() позволя-

ет найти все вхождения искомого слова независимо от регистра .

Напишите программу, которая читает файлы из проекта «Гутенберг» и определяет количе-

ство вхождений слова ‘the’ в каждом тексте .

Сохранение данных

Многие ваши программы будут запрашивать у пользователя информацию. Напри-

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

для визуального представления. Чем бы ни занималась ваша программа, инфор-

мация, введенная пользователем, будет сохраняться в структурах данных (таких, 

как списки или словари). Когда пользователь закрывает программу, введенную 

им информацию почти всегда следует сохранять на будущее. Простейший способ 

сохранения данных основан на использовании модуля 

json


.

Модуль 


json

 обеспечивает запись простых структур данных Python в файл и за-

грузку данных из файла при следующем запуске программы. Модуль 

json


 также 

может использоваться для обмена данными между программами Python. Более 

того, формат данных JSON не привязан к Python, поэтому данные в этом формате 

можно передавать программам, написанным на многих других языках програм-

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

изучается.





Достарыңызбен бөлісу:
1   ...   104   105   106   107   108   109   110   111   ...   238




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

    Басты бет