@Ferbines

Как определить количество строк, не содержащих ни одного нулевого элемента?

Дана целочисленная прямоугольная матрица. Определить:
1. Количество строк, не содержащих ни одного нулевого элемента.
2. Максимальное значение из чисел, встречающихся в заданной матрице более одного раза.

*Пожалуйста можно решение хоть одного пункта желательно с кодом. Заранее огромное спасибо
  • Вопрос задан
  • 1761 просмотр
Решения вопроса 1
MinTnt
@MinTnt
mass = [
[4, 5 ,6],
[2, 9, 0],
[4, 5, 7]]

#Для первого условия
print(sum(0 not in x for x in mass))
#Для второго условия
print(max([x for i in [[x for a in mass for x in a]] for x in i if i.count(x)>1]))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Как представлена матрица? Список из списков?
1. Перебираешь циклом for элементы-строки внешнего списка, и для каждой строки проверяешь условие "0 not in row" где row - строка матрицы. Соответственно, если условие выполнено, увеличиваешь на 1 переменную-счётчик.

2. Не знаю, можно ли это делать по условиям задачи - но я бы использовал класс Counter из модуля collections. Создаёшь пустой экземпляр Counter, потом проходишь циклом for по строкам матрицы, и каждую строку скармливаешь этому экземпляру методом .update().
В конце перебираешь все ключи в Counter, и если значение для этого ключа больше 1, добавляешь ключ в отдельный список. Потом находишь максимум в этом списке, либо вручную либо функцией max().

Так как свой код ты не привёл, делать лабу за тебя я не хочу.
Ответ написан
Ваш ответ на вопрос

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

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