Python: Задачи и решения (Глава 5. Списки и словари. Игра “Виселица”).

Продолжаем практиковаться в программировании. После пятой главы в книге: Майкл Доусон “Программируем на Python”, 2014 (Michael Dawson “Python Programming for the Absolute Beginner”, 3rd Edition), где я научилась делать словари и пользоваться списками, пора переходить к практике. Сделаем домашнее задание вместе!

Задача: Создайте программу, которая будет выводить список слов в случайном порядке. На экране должны печататься без повторений все слова из представленного списка.

SLOVA=['кот','медведь','миска','лобстер']
print('Есть писок слов:',SLOVA)
print('Эти слова в случайном порядке:')
import random
while SLOVA:
    slovo=random.choice(SLOVA)
    print(slovo)
    SLOVA.remove(slovo)

Так выглядит программа, когда ее запускаешь:

Есть писок слов: ['кот', 'медведь', 'миска', 'лобстер']
Эти слова в случайном порядке:
миска
лобстер
кот
медведь
>>> 

Задача: Напишите программу «Генератор персонажей» для ролевой игры. Пользователю должно быть предоставлено 30 пунктов, которые можно распределить между четырьмя характеристиками: Сила, Здоровье, Мудрость и Ловкость. Надо сделать так, чтобы пользователь мог не только брать эти пункты из общего «пула», но и возвращать их туда из характеристик, которым он решит присвоить другие значения.

 

Задача: Напишите программу «Кто твой папа?», в которой пользователь будет вводить имя человека, а программа – называть отца этого человека. Чтобы было интереснее, можно «научить» программу родственным отношениям среди литературных персонажей, исторических лиц и современных знаменитостей. Предоставьте пользователю возможность добавлять, заменять и удалять пары «СЫН – отец».

 

Задача: Доработайте программу «Кто твой папа?» так, чтобы можно было, введя имя человека, узнать, кто его дед. Программа должна по-прежнему пользоваться одним словарем с парами «сын – отец». Подумайте, как включить в этот словарь несколько поколений.

 

This entry was posted in Python. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *