2015-04-20 4 views
-2

Я пытаюсь написать функцию, которая принимает задающую матрицу 2x2 и проверяет, является ли один из ее элементов большим, чем определенное значение. Если это так, то она возвращает 1, в противном случае он должен возвращать 0. До сих пор у меня есть: (EDIT: правильный код ниже)Ошибка для оператора if в Python

def Is_it_too_large(W_n, max_value): 
    value_1 = abs(W_n[0,0]) 
    value_2 = abs(W_n[0,1]) 
    value_3 = abs(W_n[1,0]) 
    value_4 = abs(W_n[1,1]) 
    if value_1 < max_value and value_2 < max_value and value_3 < max_value and value_4 < max_value: 
     return False 
    else: 
     return True 

Однако, если я проверить функцию, например,

A = np.matrix([[1,3,7],[2,8,3],[7,8,1]]) 
print Is_it_too_large(A,10) 

Я получаю сообщение об ошибке «недопустимый синтаксис». Какие-нибудь идеи, что здесь не так?

+0

Прежде всего это '2x2' матрица ** не **' 4x4' матрица – ZdaR

+3

«Однако, похоже, это не работает». не является точным описанием проблемы. –

+0

@anmol_uppal вы правы, опечатка! – Funzies

ответ

2

Вы бы хотели, чтобы and вместо &&.

1

Python не поддерживает оператор «& &» вы должны использовать «и» вместо «& &»

Смежные вопросы