@RuslanBay02

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

Начинаю изучать питон

Есть функция

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]] сделать проверку всех элементов?
  • Вопрос задан
  • 98 просмотров
Решения вопроса 2
nki
@nki
ОдинЭсник укушенный питоном.
Как вариант, используй list.count(x).
Берешь первый элемент, получаешь количество вхождений в список и сравниваешь с количеством элементов в списке. Если оба значения равны, то и все элементы в списке одинаковы.

Если не можешь ответить. то не умничай. Я спросил совета по конкретному вопросу. а не о том. что мне делать в будущем

Человек дает правильный совет, стоит прислушаться.
Ответ написан
Vindicar
@Vindicar
Если each - это список, то тогда составь множество строк, соответствующих каждому элементу each.
Ты не написал, что такое self.strs, так что приходится использовать его.
strs_each = set( sefl.strs[e] for e in each )
А дальше просто, если длина strs_each больше 1, то есть разные строки.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AgentSmith
@AgentSmith
Это мой ответ на твой вопрос
Используй не массив, а список. Иди учи структуры данных, а то так и будешь вопросы на тостере задавать по каждой мелочи
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы