Python If语句以一种奇怪的方式工作

Python If语句以一种奇怪的方式工作,python,if-statement,Python,If Statement,我正在使用一个if循环,它以一种非常奇怪的方式工作。下面是代码的结构: for i in range(0, N): for j in range(0, M): if ((A - B[j]) == 0): print i, f[j] [...] print 'test' f[j]仅在if((A-B[j])==0)中定义。当我运行脚本时,首先它打印I,f[j]和test,然后,当((A-B[j])==0

我正在使用一个if循环,它以一种非常奇怪的方式工作。下面是代码的结构:

for i in range(0, N):
    for j in range(0, M):
        if ((A - B[j]) == 0):
            print i, f[j]
            [...]
            print 'test'
f[j]
仅在if
((A-B[j])==0)
中定义。当我运行脚本时,首先它打印
I,f[j]
test
,然后,当
((A-B[j])==0)
不再为真时,它只打印
test


我应该怎么做才能使脚本正常运行

在纠正语法和缩进后,它对我来说就像你所期望的那样有效:

A = 3
B = range(10)
f = range(10)

for i in range(10):
    for j in range(len(B)):
        if (A == B[j]):
        # if ((A - B[j]) == 0):
            print i, f[j]
            print 'test'
--输出--


检查缩进中是否混合了空格和制表符。是否确定代码缩进正确?代码语法错误,在“for”语句末尾缺少冒号。能否发布一些输入和预期输出?此外,您的缩进不一致,第二行缩进2个空格,第三行缩进5个空格,其余缩进8个空格。您的术语是错误的。在两个for循环中有一个if语句。没有“if循环”这样的东西。如果是条件分支,循环将重复一个操作。它们是非常不同的控制结构。
0 3
test
1 3
test
2 3
test
3 3
test
4 3
test
5 3
test
6 3
test
7 3
test
8 3
test
9 3