Одной из самых непостижимых областей для меня остаётся nginx. Точнее его настройка/программирование. Но жизнь вынуждает изучить этот инструмент, который значительно снижает нагрузку на сервер. Читать
Архив метки: Программирование
Программирование на Go
Несмотря на то что Go — это еще очень молодой язык, он уже используется во многих очень важных системах интернета и его область применения будет расти. Поэтому изучение программирования на Go — это одна из лучших инвестиций для программиста на данный момент. В этой статье мы сделаем небольшое введение в программирование на Go. Читать
Программирование под Linux
Все действия в операционной системе выполняются с помощью программ, поэтому многим новичкам интересно не только использовать чужие программы, а писать свои. Многие хотят внести свой вклад в кодовую базу OpenSource. Читать
Как создать Snap пакет Ubuntu 16.04
Технология Snap разработанная в Canonical для облегчения установки программного обеспечения в дистрибутиве Ubuntu появилась совсем недавно. Она разрабатывалась на протяжении последних нескольких лет, но только к релизу Ubuntu 16.04 стала более-менее готова к использованию широкой аудиторией. Читать
Майкл Доусон — Программируем на Python, ответы на 5-ую главу…
Задача №1
- # coding=utf-8
- # Создайте программу, которая будет выводить список слов в случайном порядке.
- # На экране должны печататься без повторений все слова из представленного списка.
- import random
- print(«Введите 4 слова для демонстрации программы:»)
- a = input(«Первое слово: n«)
- b = input(«Второе слово: n«)
- c = input(«Третье слово: n«)
- d = input(«Четвертое слово: n«)
- WORDS = [a, b, c, d]
- print(«nИзначальный список:n«, WORDS)
- # Эта функция не упоминалась в главе, но чтобы не писать лишнего, лучше заменим строчки этим:
- random.shuffle(WORDS)
- print(«nСписок в случайном порядке:n«, WORDS)
- input(«nНажмите Enter, чтобы выйти…»)
Задача №2
- «»» coding=utf-8
- Напишите программу «Генератор персонажей» для ролевой игры.
- Пользователю должно быть предоставлено 30 пунктов,которые можно
- распределить между четырями характеристиками: Сила, Здоровье,
- Мудрость и Ловкость. Надо сдлать так, чтобы пользователь мог
- не только брать эти пункты из общего»пула», но и возвращать их туда из
- характеристик, которым он решит присвоить другие значения.»»»
- «»» Также, хоть это и не требуется в задании, мы будем требовать
- от игрока, чтобы он улаживался в отведенные 30 очков и использовал их все.
- Также, только после окончания задания заметил, что 5 глава была
- про списки и словари, соответственно, автором, скорей всего,
- подразумевалось, что здесь должны использоваться словари.
- Переделывать или писать вторую версию с использованием словаря
- не буду, так как считаю, что алгоритм решения ясен.Даже будет короче.
- А в следующей главе изучите функции и попробуйте сделать это задание,
- сипользуя функции. И вы удивитесь, насколько сократится код.
- Но, следуя согласно книге, подразумевается, что мы пока не знаем о них.»»»
- # Объяснение условий игроку.
- print(«»»Вам будут представлены изначальные характеристики героя: Сила, Здоровье, Мудрость и Ловкость.
- Вам нужно будет, как в ролевой игре, распределить 30 очков между навыками»»»)
- # Объявляем переменные.
- strength = 0
- health = 0
- wisdom = 0
- agility = 0
- choice = None
</li >
- global_choice = None
- while global_choice != 0:
- # Вывод актуальной таблицы после действия.
- ost_points = (30 — strength — health — wisdom — agility)
- print(«Таблица характеристик на данный момент: n«
- «ttt1. Сила:», strength, «n«
- «ttt2. Здоровье:», health, «n«
- «ttt3. Мудрость:», wisdom, «n«
- «ttt4. Ловкость:», agility, «nn«
- «tttСвободное количество очков:», ost_points, «n«)
- # Первый выбор
- print(«Что вы хотите сделать сейчас?n«
- «ttt1. Добавить очки в одну из характеристик.n«
- «ttt2. Убрать очки из характеристики.n«
- «ttt3. Закончить распределиние очков.n«)
- global_choice = int(input())
- if global_choice == 1:
- print(«В какую из характеристик вы хотите добавить очки?n«
- «ttt1. Сила.n«
- «ttt2. Здоровье.n«
- «ttt3. Мудрость.n«
- «ttt4. Ловкость.n«)
- choice = int(input())
- if choice == 1:
- print(«Сколько очков вы хотите добавить?n«)
- scores = int(input())
- if scores >= 0 and scores <= ost_points:
- strength += scores
- else:
- print(«Недопустимое количество очков.n«)
- elif choice == 2:
- print(«Сколько очков вы хотите добавить?n«)
- scores = int(input())
- if scores >= 0 and scores <= ost_points:
- health += scores
- else:
- print(«Недопустимое количество очков.n«)
- elif choice == 3:
- print(«Сколько очков вы хотите добавить?n«)
- scores = int(input())
- if scores >= 0 and scores <= ost_points:
- wisdom += scores
- else:
- print(«Недопустимое количество очков.n«)
- elif choice == 4:
- print(«Сколько очков вы хотите добавить?n«)
- scores = int(input())
- if scores >= 0 and scores <= ost_points:
- agility += scores
- else:
- print(«Недопустимое количество очков.n«)
- # Второй выбор
- elif global_choice == 2:
- print(«Из какой характеристики вы хотите убрать очки?n«
- «ttt1. Сила.n«
- «ttt2. Здоровье.n«
- «ttt3. Мудрость.n«
- «ttt4. Ловкость.n«)
- choice = int(input())
- if choice == 1:
- print(«Сколько очков вы хотите убрать?n«)
- scores = int(input())
- if scores >= 0 and (strength — scores) >= 0:
- strength —= scores
- else:
- print(«Недопустимое количество очков.n«)
- elif choice == 2:
- print(«Сколько очков вы хотите убрать?n«)
- scores = int(input())
- if scores >= 0 and (health — scores) >= 0:
- health —= scores
- else:
- print(«Недопустимое количество очков.n«)
- elif choice == 3:
- print(«Сколько очков вы хотите убрать?n«)
- scores = int(input())
- if scores >= 0 and (wisdom — scores) >= 0:
- wisdom —= scores
- else:
- print(«Недопустимое количество очков.n«)
- elif choice == 4:
- print(«Сколько очков вы хотите убрать?n«)
- scores = int(input())
- if scores >= 0 and (agility — scores) >= 0:
- agility —= scores
- else:
- print(«Недопустимое количество очков.n«)
- # Третий выбор. Проверяем, все ли очки использованы.
- elif global_choice == 3:
- if ost_points == 0:
- break
- else:
- print(«Используйте все очки, данные вам!n«)
- print(«Ваш герой готов! Таблица его характеристик выглядит так: n«
- «ttt1. Сила:», strength, «n«
- «ttt2. Здоровье:», health, «n«
- «ttt3. Мудрость:», wisdom, «n«
- «ttt4. Ловкость:», agility, «n«)
- input(«nНажмите Enter, чтобы выйти…»)
Задача №3
- # coding=utf-8
- «»»
- Напишите программу «Кто твой папа?», в которой пользователь будет
- вводить имя человека, а программа — называть отца этого человека.
- Чтобы стало интересней, можно «научить» программу родственным
- отношениям среди литературных персонажей, исторических персонажей,
- исторических лиц и современных знаменитостей.
- Предоставьте пользователю возможность добавлять,
- заменять и удалять пары «сын-отец».»»»
- MENU = («»»
- 1 — Поиск отца человека по имени
- 2 — Изменение данных
- 3 — Удаление данных
- 4 — Добавить новые данные
- 5 — Выход
- «»»)
- family = {«Остап Бендер»: «Турецкоподанный»,
- «Люк Скайуокер»: «Дарт Вейдер»,
- «Солид Снейк»: «Биг Босс»}
- choice = None
- son = «»
- father = «»
- while choice != 5:
- print(MENU)
- choice = int(input(«Выберите пункт меню:»))
- # Поиск отца человека по имени.
- if choice == 1:
- son = input(«Введите имя человека: «)
- if son in family:
- print(«nРодителем человека по имени», son, «является», family[son])
- else:
- print(«Ошибка, такого человека нет в базе данных»)
- # Изменение данных.
- elif choice == 2:
- son = input(«Введите имя человека: «)
- if son in family:
- father = str(input(«Введите новое имя его отца: «))
- family[son] = father
- print(«nРодителем человека по имени», son, «является», family[son])
- else:
- print(«Ошибка, такого человека нет в базе данных»)
- # Удаление данных.
- elif choice == 3:
- son = input(«Введите имя человека: «)
- if son in family:
- del family[son]
- print(«nЗапись удалена»)
- else:
- print(«Ошибка, такого человека нет в базе данных»)
- # Добавить новые данные.
- elif choice == 4:
- son = input(«Введите имя человека: «)
- if son in family:
- print(«nТакая запись уже существует»)
- else:
- father = str(input(«Введите имя родителя: «))
- family[son] = father
- print(«Добавлено в базу данных»)
- # Выход.
- elif choice == 5:
- print(«До свиданья!»)
Задача №4
- # coding=utf-8
- «»»
- Доработайте программу «Кто твой папа? так, чтобы можно было,
- введя имя человека, узнать, кто его дед. Программа должна
- по-прежнему пользоваться словарем с парами «сын-отец».
- Подумайте, как включить в этот словарь несколько
- поколений. «»»
- MENU = («»»
- 1 — Поиск деда человека по имени
- 2 — Изменение данных
- 3 — Удаление данных
- 4 — Добавить новые данные
- 5 — Выход
- «»»)
- family = {«Остап Бендер»: {«Турецкоподанный»: «Отец турецкоподанного»},
- «Люк Скайуокер»: «Дарт Вейдер»,
- «Солид Снейк»: «Биг Босс»}
- choice = None
- son = «»
- father = «»
- while choice != 5:
- print(MENU)
- choice = int(input(«Выберите пункт меню:»))
- # Поиск от ца человека по имени.
- if choice == 1:
- son = input(«Введите имя человека: «)
- if son in family:
- print(«nРодителем человека по имени», son, «является», family[son[0]], «а его дедом», family[son[1]])
- else:
- print(«Ошибка, такого человека нет в базе данных»)
- # Изменение данных.
- elif choice == 2:
- son = input(«Введите имя человека: «)
- if son in family:
- father = str(input(«Введите новое имя его отца: «))
- family[son] = father
- print(«nРодителем человека по имени», son, «является», family[son])
- else:
- print(«Ошибка, такого человека нет в базе данных»)
- # Удаление данных.
- elif choice == 3:
- son = input(«Введите имя человека: «)
- if son in family:</ div>
- del family[son]
- print(«nЗапись удалена»)
- else:
- print(«Ошибка, такого человека нет в базе данных»)
- # Добавить новые данные.
- elif choice == 4:
- son = input(«Введите имя человека: «)
- if son in family:
- print(«nТакая запись уже существует»)
- else:
- father = str(input(«Введите имя родителя: «))
- family[son] = father
- print(«Добавлено в базу данных»)
- # Выход.
- elif choice == 5:
- print(«До свиданья!»)
Автор: Alek Azimov
Майкл Доусон — Программируем на Python, ответы на 4-ую главу…
Майкл Доусон — Программируем на Python.
Ответы на 4-ую главу.
Задание №1
# coding=utf-8
# Программа считает числа из заданного интервала, значения которых задает пользоваетель.itog = int(«0»)
first = int(input(«Введите начальное значение: «))
last = int(input(«Введите последнее значение: «))
interval = int(input(«Введите интервал между
целыми числами: «))
last += 1
for i in range(first, last, interval):
itog += i
print(«Сумма введеных вами чисел: «, itog)
input(«nnВведите Enter, чтобы выйти…»)
Задание №2
# coding=utf-8
# Программа, которая принимает текст
пользовательского ввода и печатает его наоборот
message = str(input(«Введите любой текст и вы
получите его наоборот: «))
new_message = «»
for i in message[::-1]:
new_message += i
print(«А вот ваш новый текст:», new_message)
input(«nnНажмите Enter, чтобы выйти из программы…»)
Задание №3
- # coding=utf-8
- import random
- # Создадим последовательность слов, из которых компьютер будет выбирать
- WORDS = («питон»,
- «анаграмма»,
- «простая»,
- «сложная»,
- «ответ»,
- «подстаканник»)
- # случайным образом выбираем из последовательности одно слово
- word = random.choice(WORDS)
- # Создадим переменную, с которой будет сопоставлена версия игрока
- correct = word
- # Создаем переменную и подсказку, которая будет появляться при запросе игрока «Не знаю»
- i_dont_know = «Не знаю»
- podskazka = word[0] + word[1] + word[2]
- # создаем анаграмму выбранного слова, в которой буквы будут расставлены хаотично
- jumble = «»
- while word:
- position = random.randrange(len(word))
- jumble += word[position]
- word = word[:position] + word[(position + 1):]
- # Создаем очки для игроков. Те, кто не использовал подсказку, получают больше.
- scores = 10
- # Начало игры
- print(
- «»»
- Добро пожаловать в игру 'Анаграммы'!
- Надо переставить буквы так, чтобы получилось осмысленное слово.
Если вам нужна подсказка введите: «Не знаю».- Но учтите, если вы не будете использовать подсказку, кол-во заработанных очков будет больше.
- (Для выхода нажмите Enter, не вводя своей версии.)
- «»»
- )
- print(«Вот анаграмма: «, jumble)
- guess = input(«nПопробуйте отгадать исходное слово: «)
- while guess != «» and guess != correct:
- if guess != correct and not guess == i_dont_know:
- print(«К сожалению, вы неправы.»)
- if guess == i_dont_know:
- scores —= 5
- print(«nПодсказка! Первые три буквы слова!», podskazka)
- guess = input(«Попробуйте отгадать исходное слово: «)
- if guess == correct:
- print(«Да, именно так! Вы отгадали!n«)
- # Если игрок слишком часто использовал подсказку (что странно, ведь она одна и та же), избегаем отрицательного значения
- # приводя к нулю
- if scores < 0:
- scores = 0
- print(«Спасибо за игру! У вас», scores, «очков!»)
- input(«nnНажмите Enter, чтобы выйти…»)
Задание №4
- # coding=utf-8
- import random
- # Создадим последовательность слов, из которых компьютер будет выбирать
- WORDS = («питон»,
- «анаграмма»,
- «простая»,
- «сложная»,
- «ответ»,
- «подстаканник»)
- # случайным образом выбираем из последовательности одно слово
- word = random.choice(WORDS)
- print(«ttЗдравствуй игрок!»)
- print(«Попробуй угадать с пяти попыток слово, которое загадал компьютер.»)
- print(«Ты можешь спрашивать, есть ли определенная буква в слове. А потом скажешь слово.»)
- print(«Итак, поехали!»)
- print(«nКоличество букв в слове:», len(word))
- # Цикл отгадывания букв
- tries = 5
- letter = ()
- while tries >= 1:
- letter = str(input(«В загаданном слове есть буква: «))
- if letter not in word:
- tries —= 1
- print(«nВы ошиблись, такой буквы нет в слове!»)
- print(» У вас осталось», tries, «попыток(ки)!»)
- if letter in word:
- tries —= 1
- print(«nВы угадали, эта буква есть в слове!»)
- print(«У вас осталось», tries, «попыток(ки)!»)
- # Вторая часть отгадывания.
- i_dont_know = «Не знаю»
- print(«nВаши 5 попыток закончились, вы готовы угадать слово?»)
- print(«Если вы сдались и не хотите продолжать, напишите 'Не знаю'.»)
- correct = (input(«nЭто слово: «))
- while correct != word:
- print(«Попробуйте еще раз!»)
- correct = (input(«nЭто слово: «))
- if correct == word:
- print(«nПоздравляю! Вы выиграли!»)
- if correct == i_dont_know:
- print(«nОчень жаль!»)
- break
- input(«nНажмите Enter, чтобы выйти…»)
Автор: Alek Azimov
