Форум сайта python.su
Магический шар 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)
Офлайн
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)
Офлайн