Я учу семиклассника по основам программирования и математики. Одна из задач, которую ученикам необходимо выполнить для выполнения задания класса, - «создать программу для решения заданного линейного уравнения с одной переменной». Студент должен использовать Python и использовать только операторы if
, else
и while
. Программа может включать пользовательские функции и списки, но не может импортировать какие-либо библиотеки, такие как regex, sympy, numpy и т. Д.
Программа должна быть в состоянии решить эти примеры уравнений:
- 2 * х - 5 = 8
- 4 * х + 3 = 3 * х - 10
- 11 * x = 2 - (1/5) * x
- 4 * (x + 2) = 5 * (x + 9)
Я пытался: для каждого символа в строке записать цифры, операторы, равно знаку и переменную. Скопируйте переменную и ее коэффициент в новую строку, а константы с их знаками - в другую строку. Я надеялся, что в конечном итоге я извлеку целые числа из каждой строки и решу уравнение для x
. Но я не правильно записывал числа с несколькими цифрами. И уравнение с круглыми скобками полностью поставило меня в тупик. Невозможность использовать регулярные выражения или sympy - это больно!
Я ищу питоническое решение этой проблемы, если оно существует.
Я чувствую, что это очень сложный вопрос для 7-го класса, потому что мои друзья из старших классов и старшекурсников не смогли найти решение. Любой совет о том, как действовать, поможет, если программное решение не доступно.
Спасибо.