Как проверить неопределенное количество элементов?

RuslanBay

Новичок
Пользователь
Фев 25, 2022
8
1
1
Есть функция

Код:
def stop_came(self):
    win_combi = self.win_combinations()
    for each in win_combi:
        if self.strs[each[0]] == self.strs[each[1]] == self.strs[each[2]] == self.strs[each[3]]:
            return self.strs[each[0]]
    return False

Вопрос заключается в том, что элементов self.strs[each[0]] может быть и 5, и 6 и т.д.
Как в этой строке
if self.strs[each[0]] == self.strs[each[1]] == self.strs[each[2]] == self.strs[each[3]]
сделать проверку всех элементов?
 

alexbaier

Новичок
Пользователь
Фев 25, 2022
3
1
3
Python:
def stop_came(self):
    win_combi = self.win_combinations()
    for each in win_combi:
        if len(set(self.strs)) == 1:
            return self.strs[each[0]]
    return False
 
  • Мне нравится
Реакции: Vershitel_sudeb

RuslanBay

Новичок
Пользователь
Фев 25, 2022
8
1
1
Python:
def stop_came(self):
    win_combi = self.win_combinations()
    for each in win_combi:
        if len(set(self.strs)) == 1:
            return self.strs[each[0]]
    return False
Не верно, не возвращает self.strs[each[0]]
 

alexbaier

Новичок
Пользователь
Фев 25, 2022
3
1
3
Не верно, не возвращает self.strs[each[0]]
значит не все элементы равны
 

alexbaier

Новичок
Пользователь
Фев 25, 2022
3
1
3
вот исправленный ответ:
Python:
def stop_came(self):
    win_combi = self.win_combinations()
    for each in win_combi:
      if len(set([self.strs[each[i]] for i in range(len(each))]) == 1:
            return self.strs[each[0]]
    return False
 

RuslanBay

Новичок
Пользователь
Фев 25, 2022
8
1
1
значит не все элементы равны
При использовании этой записи if self.strs[each[0]] == self.strs[each[1]] == self.strs[each[2]] == self.strs[each[3]]: возвращает
 

RuslanBay

Новичок
Пользователь
Фев 25, 2022
8
1
1
вот исправленный ответ:
Python:
def stop_came(self):
    win_combi = self.win_combinations()
    for each in win_combi:
      if len(set([self.strs[each[i]] for i in range(len(each))]) == 1:
            return self.strs[each[0]]
    return False
Спасибо, так верно!
 

Форум IT Специалистов