You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Текст задачи на LaTex с переменными в виде [переменная]task=r'$\log_{[e]}{(x^2+[b]x+[c])}=[d]$ введите сумму корней'# Переменные задачи можно задавать в виде словаря# где ключ - это имя переменной, а значение - это список возможных значений# также можно задавать переменные в зависимости от других переменных, функциейranges=dict(
default=range(-10, 10),
x1=range(-10, 10),
x2=range(-10, 10),
d=range(1, 3),
b=lambdax1, x2: x1+x2,
c=lambdax1, x2, e, d: x1*x2+e**d,
)
if__name__=='__main__':
fromGENERATORimportgenerate_testgenerate_test(task, ranges)
# автоматически генерит выражения # и уравнения с суммой корней в качестве ответа
генерация неравенств
task=r'$\log_{[e]}{(x^2+[b]x+[c])}>[d]$'ranges=dict(
x1=range(-10, 10),
x2=range(-10, 10),
d=lambdab: range(1, 3),
b=lambdax1, x2: x1+x2,
c=lambdax1, x2, e, d: x1*x2+e**d,
)
if__name__=='__main__':
fromtemplatesimportgenerate_inequality_testgenerate_inequality_test(task, ranges, nulls=2)
# nulls - максимальное количество нулей в уравнении из неравенства# если не устанавливать, могут теряться корни
пример своего решения
task=r'решите выражение $\frac{[a]}{[b]}$'defsolution(a, b):
answer=a/b# примеры обработки ответа:ifround(answer, 2) ==answer:
# генерить если в ответе не больше 2 знаков после запятойreturnanswerelifanswer>10:
# можно регулировать сложность с помощью величиныreturnanswerelifround(answer, 6) ==int(answer):
# генерить если ответ почти не отличается от целого (погрешность)returnanswer# если ничего не вернулось, то пример пропускаетсяreturnNoneif__name__=='__main__':
fromGENERATORimportgenerate_testgenerate_test(task, ..., solution)