Оценить несколько значений для условия

Это означает, что наиболее переносимым способом определения реализации методов классов шаблонов является определение их внутри определения класса шаблона.

template < typename ... >
class MyClass
{

    int myMethod()
    {
       // Not just declaration. Add method implementation here
    }
};
1
задан Malyk 16 January 2019 в 11:10
поделиться

2 ответа

Что я делаю не так?

{a,b,c} представляет собой набор из трех значений. Это не значение между 0 и 6.

Условие 0 <= {a,b,c} <= 6 фактически создает исключение в Python 3, потому что не имеет смысла спрашивать, является ли набор большим или меньшим, чем число. Если ваш код печатает "no", то вы, вероятно, используете Python 2.

Если вы хотите проверить, выполняется ли условие для каждого значения в некоторой последовательности, вы можете использовать встроенную функцию all .

if all(0 <= x <= 6 for x in (a,b,c)):
    print("yes")
else:
    print("no")
0
ответ дан khelwood 16 January 2019 в 11:10
поделиться

В Python 3.x для целых чисел вы можете использовать all с range:

if all(x in range(7) for x in (a, b, c)):
    # your logic

Для нецелых чисел или в Python 2.x вы можете использовать цепочечные операции:

if all(0 <= x <= 6 for x in (a, b, c)):
    # your logic

Проблема с вашей логикой в ​​том, что Python не реализует векторизованные операции с операторами сравнения.

0
ответ дан jpp 16 January 2019 в 11:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: