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

问题描述 投票:-1回答:1

我正在尝试制作一个程序,当给定序列项时,它会打印可以获取这些项的多项式方程。我向它添加了另一个功能,该功能与第一部分类似,因为它在输入方程式后为您提供了序列的条件。

到目前为止,一切进展顺利,但是在尝试实现另一个功能时遇到了一个问题。如果用户已经将方程式转化为一个序列,并且他们想检查该序列的更多术语,我希望他们能够复制该方程式,而无需手动完成,如果这样的话。

我对此的尝试如下:

copyeq = 0

while 1:
    var = input("solve or check")

    if var == "solve":
        ...
        coefs = [a, b, c...]
        ...
        copyeq = 1

    elif var == "check":
        if copyeq == 1:
            if input("use coefficients as above?: ") == "yes":
                checklist = coefs

            else:
                return

        elif copyeq == 0:
            checklist = input("enter coefficients: ").split()
            ...

        # rest of the code uses checklist values
        ...

[当我尝试对此进行测试时,它立即跳转到elif copyeq == 0:语句,这意味着我在if var == "solve":语句中为其指定的值为0。有人有任何解决方法或解决方案吗?

python python-3.x if-statement while-loop
1个回答
0
投票

我认为您应该查看程序的逻辑,因为您将这个变量设置为该值,所以它将直接进入elif copyeq == 0,因此,每次用户选择检查时,程序都会进入elif 。也许您可以更好地解释程序应如何表现?

© www.soinside.com 2019 - 2024. All rights reserved.