Как сравнить значения более чем 2 переменных

#python

Вопрос:

 for word, sentence in tup:
    while True:
        x, y, z = random.sample(range(words_count), 3)
        if list[x] != list[y] != list[z]:
            aya_index  = 1
            print('breaking after success')
            break
        else:
            print('continuing as there are similar words')
            continue
    if aya_index > words_count - 1:
        print('breaking after finishing')
        break
 

Как вы можете видеть, приведенный выше код должен зацикливаться tup и увеличивать aya_index только в том случае, если эти три переменные не равны, вопрос в том, как сравнивать переменные или есть более эффективный способ ?

Комментарии:

1. код не должен был работать.

2. почему, не могли бы вы уточнить свой комментарий

Ответ №1:

Для сравнения трех переменных вы можете использовать:

 if (x != y) and (y != z) and (x != z) :
   ....
 

Комментарии:

1. Благодаря поведению цепочки операторов Python вы могли бы написать это как x != y != z != x , но я оставлю это кому-то другому , чтобы судить, хорошая ли это идея. 🙂

2. таким образом, круглые скобки действительно означают sth, я попробовал то, что вы предлагаете, но без круглых скобок и не сработало

3. Да, я считаю, что код в этом случае более читабелен.

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