python if语句里面有语法错误
python if statement inside for syntax error
我写了一些代码,但我不明白为什么 pyscripter 在 if 语句中提示语法错误:
#search for 9 elements
file_writer = open('C:\PythonProject2\commands_NUM.txt','w')
for item in data_indices:
flag= search_object(item,data,obj_value_min,obj_value_max)
if flag = True:###ERROR
file_writer.write('frame0: ' + str(item[0]+1)+' ' + str(item[1]+1) + '\n') ##Here is the syntax error
file_writer.close()
def search_object(pixel,frame,min_val,max_val):
(obj_y,obj_x) = pixel
y_center = pixel[0]+1
x_center = pixel[1]+1
if(obj_y<=597 and obj_x<=797 ):
for y in range(0,3):
for x in range(0,3):
if((frame[obj_y+y][obj_x+x])<=min_val or(frame[obj_y+y] [obj_x+x])>=max_val ):
return False
return True
if
语句在 for
循环中向内缩进。而且 =
表示赋值使用 ==
而不是
for item in data_indices:
flag= search_object(item,data,obj_value_min,obj_value_max)
if flag == True: #here indent this if one step back
file_writer.write('frame0: ' + str(item[0]+1)+' ' + str(item[1]+1) + '\n') ##He
if语句中应该有==
for item in data_indices:
flag= search_object(item,data,obj_value_min,obj_value_max)
if flag == True:
file_writer.write('frame0: ' + str(item[0]+1)+' ' + str(item[1]+1) + '\n')
1) 把你的 search_object
函数放在上面 - 在使用它之前声明它。
2) 将 if flag = True:
修改为 if flag:
3) 修复 file_writer.write('frame0: ' + str(item[0]+1)+' ' + str(item[1]+1) + '\n')
行缩进。
4) return True
函数 search_object
中的缩进也是错误的。修复它。
我建议你看看 PEP 8.
我写了一些代码,但我不明白为什么 pyscripter 在 if 语句中提示语法错误:
#search for 9 elements
file_writer = open('C:\PythonProject2\commands_NUM.txt','w')
for item in data_indices:
flag= search_object(item,data,obj_value_min,obj_value_max)
if flag = True:###ERROR
file_writer.write('frame0: ' + str(item[0]+1)+' ' + str(item[1]+1) + '\n') ##Here is the syntax error
file_writer.close()
def search_object(pixel,frame,min_val,max_val):
(obj_y,obj_x) = pixel
y_center = pixel[0]+1
x_center = pixel[1]+1
if(obj_y<=597 and obj_x<=797 ):
for y in range(0,3):
for x in range(0,3):
if((frame[obj_y+y][obj_x+x])<=min_val or(frame[obj_y+y] [obj_x+x])>=max_val ):
return False
return True
if
语句在 for
循环中向内缩进。而且 =
表示赋值使用 ==
而不是
for item in data_indices:
flag= search_object(item,data,obj_value_min,obj_value_max)
if flag == True: #here indent this if one step back
file_writer.write('frame0: ' + str(item[0]+1)+' ' + str(item[1]+1) + '\n') ##He
if语句中应该有==
for item in data_indices:
flag= search_object(item,data,obj_value_min,obj_value_max)
if flag == True:
file_writer.write('frame0: ' + str(item[0]+1)+' ' + str(item[1]+1) + '\n')
1) 把你的 search_object
函数放在上面 - 在使用它之前声明它。
2) 将 if flag = True:
修改为 if flag:
3) 修复 file_writer.write('frame0: ' + str(item[0]+1)+' ' + str(item[1]+1) + '\n')
行缩进。
4) return True
函数 search_object
中的缩进也是错误的。修复它。
我建议你看看 PEP 8.