我想做一个程序,当给定一个序列的项时,打印一个多项式方程,可以得到这些项。我为它添加了另一个特性,它反映了第一部分,在输入方程后,它给出了序列的项。你知道吗
到目前为止,这一切都进展顺利,但我在尝试实现另一个特性时遇到了一个问题。如果用户已经得到了一个序列的方程,并且他们想检查序列中的更多项,我希望他们能够复制这个方程,如果他们愿意的话,不需要手工操作,如果这样做有意义的话。你知道吗
我的尝试如下:
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没有指针。你知道吗
我认为您应该检查一下程序的逻辑,它将直接转到elif copyeq==0,因为您正在将这个变量设置为这个值,因此,每次用户选择check时,程序都会转到埃利夫。也许吧你可以稍微解释一下程序应该如何运行?你知道吗
相关问题 更多 >
编程相关推荐