«»» 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, чтобы выйти…»)
# 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(«До свиданья!»)
# 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(«До свиданья!»)