Я пытаюсь создать программу, которая при задании членов последовательности выводит полиномиальное уравнение, которое может получить эти члены. Я добавил еще одну особенность, которая отражает первую часть в том смысле, что она дает вам условия последовательности после ввода уравнения.
Пока что все прошло в основном хорошо, но я пришелчерез проблему при попытке реализовать другую функцию. Если пользователь уже получил уравнение для последовательности, и он хотел бы проверить, возможно, еще несколько членов этой последовательности, я хочу, чтобы они могли копировать это уравнение, если захотят, не делая это вручную,если это имеет смысл.
Моя попытка заключается в следующем:
def func(var):
if str(var) == "solve":
terms = input("terms: ").split()
...
coefs = []
# code that defines the list coefs
...
coefs = [a,b,c...]
print(", ".join(coefs))
copyeq = 1
elif str(var) == "check":
try:
if copyeq == 1:
if input("use coefficients as above?: ") == "yes":
checklist = coefs
else:
return
elif copyeq == 0:
checklist = input("input coefficients: ").split()
...
terms = []
# code that defines the list terms
...
terms = [p, q, r...]
print(", ".join(term))
copyeq = 0
while 1:
var = input("solve or check: ")
func(var)
Когда я пытаюсь проверить это, он сразу же переходит к выражению elif copyeq == 0:
, что означает значение 0что я назначил ему в операторе if var == "solve":
. Есть ли у кого-нибудь обходные пути или решения?
Редактировать: Я намерен, чтобы пользователь мог решить последовательность для ее уравнения или проверить уравнение для ее последовательности. Если они решат сначала решить последовательность, я хочу, чтобы они могли проверить уравнение, которое они только что получили в качестве ответа. Я думал, что указатели могут решить мою проблему, но быстрый поиск показал, что в Python нет указателей.