我正在尝试制作一个程序,当给定序列项时,它会打印可以获取这些项的多项式方程。我为其添加了另一个功能,该功能与第一部分类似,因为它为您提供了输入方程式后的序列项。
到目前为止,这一切进展顺利,但是在尝试实现另一个功能时遇到了一个问题。如果用户已经将方程式转化为一个序列,并且他们想检查该序列的更多术语,我希望他们能够复制该方程式,而无需手动完成,如果有道理。
我对此的尝试如下:
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:
语句,这意味着我在if var == "solve":
语句中为其分配的值为0。有人有任何解决方法或解决方案吗?
编辑:我打算让用户能够为其方程式求解一个序列,或检查其序列的方程式。如果他们选择先求解序列,我希望他们能够检查刚刚得到答案的方程式。我以为指针可以潜在地解决我的问题,但是快速搜索告诉我Python没有指针。
答案 0 :(得分:-1)
我认为您应该查看程序的逻辑,它将直接转到elif copyeq == 0,因为您将此变量设置为该值,因此,每次用户选择检查时,程序都会转到elif。也许您可以更好地解释该程序的行为方式?