Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 4, 2022 12:26:18

01a4fvh
Зарегистрирован: 2022-06-04
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Магический шар 8

Магический шар 8 - шуточный способ предсказывать будущее. Программа должна просить пользователя задать некий вопрос, чтобы случайным образом ответить на него.
Состовляющие программы:
Целые числа(Тип int);
Переменные;
Ввод/Вывод данных (функции input() и print() );
Условный оператор(if/elif/else);
Цикл While;
Бесконечный цикл;
Операторы break, continue ;
Работа с модулем random для генерации случайных чисел.
Варианты ответов
Традиционно шар имеет 20 ответов, которые можно разделить на 4 группы.
Положительные:

● It is certain (Бесспорно)
● It is decidedly so (Предрешено)
● Without a doubt (Никаких сомнений)
● Yes — definitely (Определённо да)
● You may rely on it (Можешь быть уверен в этом)
Нерешительно положительные

● As I see it, yes (Мне кажется — «да»)
● Most likely (Вероятнее всего)
● Outlook good (Хорошие перспективы)
● Signs point to yes (Знаки говорят — «да»)
● Yes (Да)
Нейтральные

● Reply hazy, try again (Пока не ясно, попробуй снова)
● Ask again later (Спроси позже)
● Better not tell you now (Лучше не рассказывать)
● Cannot predict now (Сейчас нельзя предсказать)
● Concentrate and ask again (Сконцентрируйся и спроси опять)
Отрицательные

● Don’t count on it (Даже не думай)
● My reply is no (Мой ответ — «нет»)
● My sources say no (По моим данным — «нет»)
● Outlook not so good (Перспективы не очень хорошие)
● Very doubtful (Весьма сомнительно)

Отредактировано 01a4fvh (Июнь 4, 2022 13:56:17)

Офлайн

#2 Июнь 4, 2022 14:55:47

Palrom
Зарегистрирован: 2022-04-21
Сообщения: 82
Репутация: +  5  -
Профиль   Отправить e-mail  

Магический шар 8

  
from random import randint
import sys
 
def get_sphere_answ(moodtype=0, rand_answ=1):
    if moodtype == 2:
        definit_positive = {1: 'Бесспорно', 2: 'Предрешено', 3: 'Никаких сомнений',
                            4: 'Определённо да', 5: 'Можешь быть уверен в этом'}
        return definit_positive[rand_answ]
    elif moodtype == 1:
        doubt_positive = {1: 'Мне кажется — «да»', 2: 'Вероятнее всего', 3: 'Хорошие перспективы',
                             4: 'Знаки говорят — «да»', 5: 'Скорее всего - «да»'}
        return doubt_positive[rand_answ]
    elif moodtype == 0:
        neutral = {1: 'Пока не ясно, попробуй снова', 2: 'Спроси позже', 3: 'Лучше не рассказывать',
                   4: 'Сейчас нельзя предсказать', 5: 'Сконцентрируйся и спроси опять'}
        return neutral[rand_answ]
    elif moodtype == -1:
        negative = {1: 'Даже не думай', 2: 'Мой ответ — «нет»', 3: 'По моим данным — «нет»',
                    4: 'Перспективы не очень хорошие', 5: 'Весьма сомнительно'}
        return negative[rand_answ]
 
def get_rand_mood():
    mood = randint(-1, 1 + 1)
    num_rand_answ = randint(1, 4 + 1)
    return mood, num_rand_answ
 
def get_user_quest():
    while True:
        user_quest = input('Каков ваш вопрос?\n>>> ')
        if user_quest == '':
            print('Шар молчит в ответ')
            continue
        elif user_quest.casefold() == 'выход':
            return 0
        else:
            break
    return
 
def main():
    print("Магический шар 8 - шуточный способ предсказывать будущее!")
    while True:
        user_action = get_user_quest()
        if user_action == 0:
            print('Всего доброго')
            sys.exit()
        else:
            mood, answ = get_rand_mood()
            print(get_sphere_answ(mood, answ))
            print('Для выхода наберите «выход»')
        continue
 
if __name__ == '__main__':
    main()

Отредактировано Palrom (Июнь 4, 2022 15:45:27)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version