@3DOSES

Как сделать ответ на примеры?

Программа выводит пример и нужно ввести правильный ответ, но я даже не могу додуматься как указать примерам правильный ответ.

import random
import time

#список
list = ["4+4", "3*4", "3+7", "9-7"]

#вывод рандомного слова 

vivod = random.choice(list)
print(vivod)

#ввод юзером ответ примера и проверка
user = input()
if vivod == user:
    print("Верно")
else:
    print("Ошибка")


На время не обращайте внимание
  • Вопрос задан
  • 78 просмотров
Решения вопроса 3
SoreMix
@SoreMix Куратор тега Python
yellow
Либо записать сразу нормально, через тот же словарь (лучше всего будет), либо через literal_eval

1.
questions = {'4+4': 8, '3*4': 12, '3+7': 10, '9-7': 2}

question, answer = random.choice(list(questions.items()))

user = int(input())

if answer == user:
    # ...


2.
from ast import literal_eval

if literal_eval(vivod) == user:
Ответ написан
@Wispik
Во-первый, не называй переменную list, это зарезервированное слово в питоне.
Запиши, примеры в таком виде:
lst = [
    {"question": "4+4", "answer": "8"},
    ...
]

и когда рандомишь, выводи question, а ответ естественно сравнивай с answer
Ответ написан
@iggor-markin
Вот один из вариантов хранения данных, которые потом можно получать через random.choice.:
riddles = {
    '1+1': 2,
    '2+2': 4,
}

При этом вы можете упростить себе задачу и просто написать генератор простых математических примеров на сложение, вычитание, деление и умножение. Это избавит от необходимости подготавливать базу вопросов и ответов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы