关于python:如果elif不工作

If elif else not working

对于if、elif和else语句,我有以下python代码:

1
2
3
4
5
6
7
8
9
10
11
12
        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)

代码对第一个if和elif语句正确执行。但是,通过这个输出可以看到,当语句进入第三个ELIF语句(其中运行计数为3)时,代码的第三次运行会执行该语句,但不会打印出任何内容,也不会执行ELSE语句。我已经检查了运行计数是否确实是3,所以根本没有放弃我的程序。

有没有人有一个想法,当它可以进入ELIF语句,但从来没有打印出任何东西,当前一个工作正常,所有的条件都满足了?


两个elif line_num == 129语句都不会执行,因为它们具有相同的条件。相反,尝试以下方法:

1
2
3
4
5
6
7
8
9
10
11
    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)