如果其他人不工作

jgr*_*208 3 python

我有一个if,elif,else语句的python代码:

        if line_num == 151:
            if self.run_count == 1:
                print(values[self.run_count-1])
        elif line_num == 129:
            if self.run_count == 2:
                print(values[self.run_count-1])
        elif line_num == 129:
            if self.run_count == 3:
                print("here")
        else:
            print(line_num)
        f.write(line)
Run Code Online (Sandbox Code Playgroud)

代码对第一个if和elif语句正确执行.但是,您可以通过此输出看到当语句进入第3个elif语句(其中运行计数为3)时第三次运行代码时,它执行语句但不打印任何内容,并且不执行else语句.我已经检查了run_count是否确实是3并且它确实没有丢失我的程序.

有没有人有一个想法,虽然它可能会进入那个elif声明,但从来没有打印任何东西,当前一个工作正常并满足所有条件?

GWW*_*GWW 15

两个elif line_num == 129语句都不会被执行,因为它们具有相同的条件.相反,尝试这样的事情:

    if line_num == 151:
        if self.run_count == 1:
            print(values[self.run_count-1])
    elif line_num == 129:
        if self.run_count == 2:
            print(values[self.run_count-1])
        elif self.run_count == 3:
            print("here")
    else:
        print(line_num)
    f.write(line)
Run Code Online (Sandbox Code Playgroud)