如何检查while循环中的if语句是否满足?

2024-09-30 14:27:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做一个程序,当给定一个序列的项时,打印一个多项式方程,可以得到这些项。我为它添加了另一个特性,它反映了第一部分,在输入方程后,它给出了序列的项。你知道吗

到目前为止,这一切都进展顺利,但我在尝试实现另一个特性时遇到了一个问题。如果用户已经得到了一个序列的方程,并且他们想检查序列中的更多项,我希望他们能够复制这个方程,如果他们愿意的话,不需要手工操作,如果这样做有意义的话。你知道吗

我的尝试如下:

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没有指针。你知道吗


Tags: 用户inputifvar序列特性splitfunc
1条回答
网友
1楼 · 发布于 2024-09-30 14:27:18

我认为您应该检查一下程序的逻辑,它将直接转到elif copyeq==0,因为您正在将这个变量设置为这个值,因此,每次用户选择check时,程序都会转到埃利夫。也许吧你可以稍微解释一下程序应该如何运行?你知道吗

相关问题 更多 >