The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

Данная книга — это набор забавных, в том числе образовательных, проектов, предназначенных для развлечения программистов и одновременного по-вышения их навыков. Это хорошее дополнение к традиционным самоучите-лям, отличная «следующая книга», расширяющая полученные ранее навыки и знакомящая с новыми полезными инструментами.
Каждый проект включает в себя интригующий поворот с историческими собы-тиями, литературными персонажами или ссылками на поп-культуру — и все это используя модули tkinter, matplotlib, cProfile, Pylint, pygame, pillow и python-docx.

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by BHV.RU Publishing House, 2020-12-18 04:38:49

"Непрактичный" Python: занимательные проекты для тех, кто хочет поумнеть

Данная книга — это набор забавных, в том числе образовательных, проектов, предназначенных для развлечения программистов и одновременного по-вышения их навыков. Это хорошее дополнение к традиционным самоучите-лям, отличная «следующая книга», расширяющая полученные ранее навыки и знакомящая с новыми полезными инструментами.
Каждый проект включает в себя интригующий поворот с историческими собы-тиями, литературными персонажами или ссылками на поп-культуру — и все это используя модули tkinter, matplotlib, cProfile, Pylint, pygame, pillow и python-docx.

Keywords: python

взламывание высокотехнологичного Предметный указатель 459
сейфа 172–179
генерирование псевдонимов 24–29 ◊ format форматирования символьных
закон первых цифр Бенфорда 416–427 последовательностей 254
зигзагообразный шифр 111–118
игра в Монти Холла 268–286 ◊ getdata() 400
игра "Орбитальный спутник Марса" ◊ lower() 29
348–380 ◊ most_common() 85
моделирование Млечного Пути 233–256 ◊ os.chdir() 388
наложение Юпитера 392–405 ◊ os.getcwd() 389
написание нулевого шифра 132–135 ◊ os.listdir() 394, 400
отыскание Волдеморта 77–90 ◊ os.path.join() 388
анаграмма однословная 61–65 ◊ os.path.normpath() 389
анаграмма фразовая 65–77 ◊ os.remove() 395
палинграмма 50–55 ◊ path() 359
палиндром 47–50 ◊ pop() 100, 118, 192
подсчет слогов 183–198 ◊ rotate() 359
разведение армии суперкрыс 160–171 ◊ shutil.rmtree() 394
расшифровка маршрутного шифра ◊ split() 100
92–111 ◊ sys.exit(1) 45
симулирование продолжительности ◊ thruster() 357
жизни на пенсии 288–315 ◊ time.time() 56
сокрытие шифра Виженера 138–157 ◊ update() 330, 335, 360, 378
шифр Треваниона 125–132 ◊ грубой силы (исчерпывающего поиска)
шлейфы на Ио 319–336
◊ с применением грубой британской силы 82 66, 82
Количество ожидаемое 419 Механизм исчерпывающего поиска 160
Константа пропорциональности 365 Механика орбитальная 342–348
Координата полярная 242, 246 Микрофотография 112
Корпус 184 Минимум и максимум 175
◊ тренировочный 187, 199, 207 Млечный Путь 230
Криптография 79, 92 Моделирование компьютерное 236
Модель:
Л ◊ графическая 241
◊ порядка 0 200
Лебедь черный 293 ◊ порядка 1 203
Литерал документирования 34 ◊ порядка 2 201
Логика 269 ◊ стиля статистическая 207
Модуль 18
М ◊ collections 67
◊ Counter 67, 71
Медиана 406 ◊ cProfile 44
Метка эпохи временная 56 ◊ Flake8 30
Метод 269, 270 ◊ itertools 79
◊ blit(), блочного переноса растровых ◊ logging 209
◊ matplotlib 236, 297, 416
данных (блиттинг) 334 ◊ os 386
◊ blit(), переноса растрового изображения ◊ pillow 385, 387
◊ pycodestyle 30
(блиттинг) 376 ◊ pydocstyle 35, 38
◊ check_keys() 357 ◊ pygame 319, 321, 324
◊ draw() 335 ◊ Pylint 30
◊ flip(), переноса растрового изображения ◊ python-docx 138, 144
◊ random 28
(флиппинг) 335, 380

460 Предметный указатель Объект:
◊ font 145
Модуль (прод.) ◊ paragraph 145
◊ shutil 386 ◊ run 145
◊ sys 28 ◊ внутристрокового уровня 145
◊ tkinter 229, 244, 245 ◊ блочного уровня 144
◊ импортирование 299, 416 Окно:
◊ операционная система 386 ◊ командное 31
◊ программа установки пакетов Preferred ◊ терминала 144
Оператор:
Installer Program (pip) 31, 35, 144, 158 ◊ "звездочка" (*) 49
◊ утилиты командной оболочки 386 ◊ деления по модулю (%) 109, 305
◊ сравнения (==) 62
Н Операция:
◊ включения в множество 86
Наложение снимков 385 ◊ включения в список 47, 79, 84, 100, 115,
Направленность 256
Нарезка 47 166, 178, 300, 310, 400, 419, 421
Неопределенность 294 Оптимизация 159, 172, 175
Норма ассоциации слов (WAN) 226 Орбита синхронная 347
Нотация объектная JavaScript (json) 188 Отбор образцов многократный случайный

О 263
Отладка 208
Обеспечение программное: Оценивание производительности компьютера
◊ Anaconda 237
◊ Audacity 352 199
◊ CCDStack 391 Ошибка См. Отладка
◊ Deep Sky Stacker 391 ◊ ложная 32
◊ DirectX API 320 ◊ проверка отсутствия 417
◊ Enthought Canopy 237 ◊ человеческая 95
◊ Free Studio 390
◊ Free Video to JPG Converter tool 390 П
◊ Geany 21
◊ IDLE: Палинграмма 50
Палиндром 43
интерактивная оболочка 26 Парадокс Ферми 229–261
текстовый редактор 21 Параметр:
◊ LibreOffice Writer 140 ◊ columnspan 277
◊ Microsoft ◊ ipadx 278
DirectX API 320 Перевод машинный 183
Office Suite 140 Передача блочная растровых данных 334
Outlook 155 Переменная 171
◊ OpenOffice Writer 140 ◊ duration 304, 305
◊ PowerShell 31 ◊ eccentricity 367, 373
◊ PyCharm 21 Перенос спиральный 347
◊ PyScripter 21 Перестановка 79
◊ RegiStar 391 ◊ с повторением 173
◊ RegiStax 391 Переход методом Гомана с орбиты на орбиту
◊ Sphinx 35
Область глобальная 70 346
Обнаружение спама 183 Периапсида 345
Обработка естественного языка 183 Перигей 345

Персона: Предметный указатель 461
◊ Александер Эдвард Портер 119
◊ Беляев Дмитрий 169 ◊ бенфордирование колеблющихся штатов 430
◊ Бенфорд Фрэнк 408 ◊ весь путь до конца 337, 452
◊ Бэббидж Чарльз 140 ◊ взламывание Линкольна 119, 434
◊ вос Савант Мэрилин 262 ◊ все, что есть 317
◊ Дауни Аллен 25 ◊ генератор новых слов 226
◊ Кеплер Иоганн 342 ◊ далекая-предалекая галактика 258, 445
◊ Кларк Брукс 390 ◊ добавление обитаемых зон в свою
◊ Клинтон Хиллари 415
◊ Мария, королева Шотландии 124 галактику 260
◊ Нигрини Марк 427 ◊ зигзагообразный многорядный шифр 123
◊ Ньюкомб Саймон 408 ◊ идентификация типов шифров 120, 434
◊ Ньютон Исаак 341 ◊ использование моноширинного шрифта 158
◊ О’Нил Тип 430 ◊ источник выбросов 338
◊ Пил Стэн 318 ◊ кодировщик маршрутного шифра 122
◊ Саган Карл 256 ◊ колчестерская поимка 137, 441
◊ Слаткин Бретт 40 ◊ марковская музыка 228
◊ Стейджер Энсон 93 ◊ маршрутный перестановочный шифр
◊ Талеб Нассим 264 ◊ масть пошла, а деньги кончились 317
◊ Твен Марк 287 ◊ модификации игры "Орбитальный спутник
◊ Тертлдав Гарри 95
◊ Трамп Доналд 228, 414, 428 Марса" 380
◊ Тьюринг Алан 227 ◊ окольный путь предсказания
◊ Фридман Уильям 93
◊ Хартман Чарльз 181–183, 197, 205, 223, обнаруживаемости 260, 449
◊ отыскание диграмм 91, 433
226 ◊ очистка словаря 59
◊ Черчилль Уинстон 26 ◊ парадокс дня рождения 286
◊ Шекспир Уильям 228 ◊ перемешать и увязать 317
◊ Шеннон Клод 200 ◊ писать хокку или не писать 228
◊ Шеппард Клинтон 180 ◊ победа над Бенфордом 428, 454
◊ Эмерсон Ральф Уолдо 19 ◊ пока никто не заметил 430
Планирование, важность проведения 25 ◊ полет пули 338
Подсчет слогов 183–186 ◊ построение галактической империи
Поколение 161
Правило четырех процентов 287, 316 258, 446
Проверка степени соответствия 413, 420 ◊ потрясающе, просто потрясающе! 228
◊ по статистическому показателю хи-квадрат ◊ проверка числа пустых строк 158, 442
◊ рекурсивный подход 60
413 ◊ создание более эффективного взломщика
Проградация 344
Программирование объектно- сейфов 180
◊ создание спиральной галактики с
ориентированное 269, 320, 322
Проект: перемычкой 260
◊ "поросячья" латынь 40, 431 ◊ спасение королевы Марии 136, 439
◊ автоматический генератор анаграмм 91 ◊ среднее имя 41
◊ автоматическое генерирование возможных ◊ столбчатый график бедного чужака 41
◊ столбчатый график бедняка 40, 432
ключей 120, 435 ◊ счетчик слогов против файла словаря 198,
◊ акт исчезновения 406
◊ атака с применением грубой силы 121, 436 444
◊ тест Тьюринга 227
◊ ударный купол 337
◊ формирование крысиного гарема 180
◊ хранение ключа в виде словаря 120, 435
◊ ясная картинка стоит тысячи слов 316

462 Предметный указатель Спираль логарифмическая 242, 249, 251, 258
Список слов 44
Проекция букв в гласные-согласные 80 Спутник Марса орбитальный 30
Прототип и заплатка 25 Среда разработки интегрированная (IDE) 21
Профиль 55 Стандарт документирования NumPy 35
Псевдокод 26 Статистика 262
◊ графический пример 161 Стеганография 124, 138
Путь: Стиль 145
◊ абсолютный 389 ◊ написания кода 36
◊ каталожный 387 ◊ статистическая модель 207
◊ относительный 389 Суперкласс 276

Р Т

Радиана 248, 328, 359 Таблица:
Разработка проектная 25 ◊ актуарная продолжительность жизни 294
Разрыв строки 144 ◊ алфавитная 139
Распаковка 217 ◊ цветовая 324, 353
Распознавание: Текст открытый 92
◊ речи 199 Теория вероятностей См. Анализ марковских
◊ текста:
цепей
рукописного 199 Тип контейнерный:
предсказательное 183 ◊ Counter 67
Регистр нижний (верхний) вывода символов ◊ defaultdict 211, 417
65 Торможение аэродинамическое 381
Регистрация изображения 391 Триграмма 80
Редактор текстовый 44
Рекомандация по написанию кода на языке У
Python 22
◊ PEP 257 34 Уравнение:
◊ PEP 8 22 ◊ Дрейка 229, 231
Ретроградация 343 ◊ квадратное 235
Родитель 275, 325 ◊ многочленное 235
Руководство по написанию кода 30 Ускорение 341
Условие останова 160
С Устройство с зарядовой связью (CCD) 385

Семорднилап 51 Ф
Сериализация 192
Сжигание однотангенциальное 346 Файл:
Симуляция Монте-Карло 263–286 ◊ 2of4brif.txt 44
Система операционная 21 ◊ словаря 44, 198
Скрещивание 161, 167 Фильтр:
Словарь произношения Университета ◊ SHARPEN 404
◊ Ланцоша 398
Карнеги-Меллона (CMUdict) 184 Фильтрация:
Слоги, подсчет 183 ◊ проекция букв в гласные-согласные 80
Служба Yahoo! Почта 155 ◊ с помощью биграмм 80
Снимок 395 ◊ с помощью триграмм 80
Событие 333 ◊ спама 199
◊ KEYUP 375
◊ QUIT 334
Сообщение управляющее 95
Сооружение строительных лесов 208

Фонема 186 Предметный указатель 463
Формат:
◊ MP3 352 Ч
◊ Ogg Vorbis 352
◊ RST 35 Чернила электронные 141
◊ WAV 352 ◊ невидимые 138
Функция 299 Число кадров в секунду (fps) 333
◊ bar_chart() 416, 421
◊ clean_folder() 393 Ш
◊ count_first_digits() 416, 417
◊ cv_map_filter() 85 Шифр:
◊ cv_map_words() 84 ◊ Виженера 112, 138
◊ default_input() 300 ◊ зигзагообразный (шифр жердевой
◊ del_folders() 394
◊ enumerate() 169 изгороди) 92, 111
◊ get_expected_counts() 416, 419 ◊ маршрутный (с перестановкой маршрута)
◊ letter_pair_filter() 87
◊ main() 69, 74, 90, 107, 309, 331, 333, 371, 92
◊ нераскрываемый 139
424 ◊ нулевой 124, 132
◊ prep_words() 83 ◊ перестановочный 93
◊ print() 26 ◊ подстановочный 93, 120, 139
◊ process_choice() 70, 72 ◊ с перестановкой букв 101
◊ read() 129 ◊ списковый 133
◊ sorted() 62 ◊ Треваниона 124
◊ strip() 129 Шифросписок 108
◊ trigram_filter() 87 Шифротекст 92, 108
◊ validate_col_row() 107 Шкала логарифмическая 409
◊ zip() 168, 176 Шрифт:
◊ zip_longest() 116, 118 ◊ моноширинный 142
◊ применение 154
Х ◊ пропорциональный 142
◊ типы 142, 154
Художник 423 ◊ цвет 154

Ц Э

Цепочка символьная 29 Эксцентриситет 350, 358
◊ необработанная 114 Эпоха UNIX 56
Цикл: Эскиз игры 321, 348
◊ for 307
◊ while 29, 170, 303, 377
◊ игровой 355, 374
Цифра первая 417

www.bhv.ru Гэддис Т.

Начинаем программировать на Python,
4-е изд.

Отдел оптовых поставок:
E-mail: [email protected]

• Краткое введение в компьютеры
и программирование

• Ввод, обработка и вывод данных

• Управляющие структуры и булева логика

• Структуры с повторением и функции

• Файлы и исключения

• Списки и кортежи

• Строковые данные, словари и множества

• Классы и объектно-ориентированное
программирование

• Наследование и рекурсия

• Функциональное программирование

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

Тони Гэддис — ведущий автор всемирно известной серии книг «Начинаем программи-
ровать...» (Starting Out With) с двадцатилетним опытом преподавания курсов информатики
в колледже округа Хейвуд, шт. Северная Каролина, удостоен звания «Преподаватель года»,
лауреат премии «Педагогическое мастерство».




Click to View FlipBook Version