Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 27.11.2020
Сообщений: 43

Работа с матрицей

28.01.2021, 22:08. Показов 1538. Ответов 24
Метки нет (Все метки)

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

Не знаю как сделать данные программы, так как не хватает знаний. Помогите пожалуйста!!!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.01.2021, 22:08
Ответы с готовыми решениями:

Работа с матрицей
Определите структуру для хранения матрицы. Измените ее: 1. Напишите код, который поменяет первую и последнюю строку матрицы местами. 2....

Работа с матрицей
Для заданной матрицы размером 8х8. найдите: 1). Такие j i k, когда j-я строка матрицы совпадает с k-м столбиком; 2). Сумму элементов в...

Работа с матрицей
Дана вещественная матрица А(n,n). Если элементы главной диагонали матрицы упорядочены по убыванию их значений, то найти в матрице индексы...

24
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
28.01.2021, 22:24
1)
Python
1
2
3
In [1]: def count(matrix):
   ...:     return sum(0 not in row for row in matrix)
   ...:
/upd
2)
Python
1
2
3
4
5
6
7
In [1]: from collections import Counter
 
In [2]: from itertools import chain
 
In [3]: def maximum(matrix):
    ...:     return max(key for key, count in Counter(chain.from_iterable(matrix)).most_common() if count > 1)
    ...:
1
 Аватар для Miryz
291 / 131 / 58
Регистрация: 24.11.2019
Сообщений: 532
28.01.2021, 22:25
Rbnvlad10,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
lst = []
for i in range(int(input('Введите кол-во строк в матрице: '))):
    lst.append(list(map(int, input().split())))
 
def zero(x):
    k = 0
    for q in x:
        if 0 not in q:
            k += 1
    return k
 
def mdgt(x):
    m = []
    for q in x:
        m += list(set(q))
    m.sort(reverse=True)
    for j in range(len(m)-1):
        if m[j] == m[j+1]:
            return m[j]
 
print(f'Кол-во строк с нулями: {zero(lst)}')
print(f'Самое большое повторяющееся число матрицы: {mdgt(lst)}')
1
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
28.01.2021, 22:29
А у меня совсем какой-то ужас получился в ответе на второй вопрос))))
Python
1
(lambda a: print(max([[j for j in i if sum(e.count(j) for e in a) > 1] for i in a])[0])) ([[1, 2], [3, 4, 1, 1, 1, 1], [2, 4, 2]])
0
 Аватар для Miryz
291 / 131 / 58
Регистрация: 24.11.2019
Сообщений: 532
28.01.2021, 22:36
я думал число встречающееся в нескольких строках, но наверное во всей матрице
Python
1
2
3
4
5
6
7
8
def mdgt(x):
    m = []
    for q in x:
        m += q
    m.sort(reverse=True)
    for j in range(len(m) - 1):
        if m[j] == m[j + 1]:
            return m[j]
Добавлено через 24 секунды
Fury67, жаль у тебя всего одна функция)

Добавлено через 1 минуту
Цитата Сообщение от Miryz Посмотреть сообщение
Кол-во строк с нулями:
и да, без нулей
1
28.01.2021, 22:37

Не по теме:

Цитата Сообщение от Fury67 Посмотреть сообщение
А у меня совсем какой-то ужас получился в ответе на второй вопрос))))
Куда страшнее получилось бы решение сразу двух задач в одной строке)) :D

0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
28.01.2021, 22:38
Цитата Сообщение от Arsegg Посмотреть сообщение
Куда страшнее получилось бы решение сразу двух задач в одной строке))
Да особо не отличается
Python
1
(lambda a: print(sum(0 not in i for i in a), max([[j for j in i if sum(e.count(j) for e in a) > 1] for i in a])[0])) ([[0, 1, 2], [3, 4, 1, 1, 1, 1], [2, 4, 2]])
0
28.01.2021, 22:40

Не по теме:

Цитата Сообщение от Rbnvlad10 Посмотреть сообщение
1. Количество строк, не содержащих ни одного нулевого элемента (оформить в виде
функции
).
2. Максимальное из чисел, встречающихся в заданной матрице более одного pаза (оформить в виде
функции
).
Fury67, ключевое выделил.

0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
28.01.2021, 22:41
lambda не функция что ли? Из документации "Lambda expressions (sometimes called lambda forms) are used to create anonymous functions"
2
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
28.01.2021, 22:44

Не по теме:

Fury67, +++, кросавчег!


1
28.01.2021, 22:45

Не по теме:

Цитата Сообщение от Fury67 Посмотреть сообщение
lambda не функция что ли?
Безымянная. Да и определять функцию через := и lambda совсем зашквар, как мне кажется.

0
 Аватар для Miryz
291 / 131 / 58
Регистрация: 24.11.2019
Сообщений: 532
28.01.2021, 22:47
Цитата Сообщение от Arsegg Посмотреть сообщение
:=
это же оператор
Fury67, по тз засунть лямбду в лямбду и все будет норм
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
28.01.2021, 22:58

Не по теме:

Цитата Сообщение от Miryz Посмотреть сообщение
это же оператор
Fury67, по тз засунть лямбду в лямбду и все будет норм
Фишку не сечешь.


Python
1
2
3
4
5
6
7
8
In [1]: (count := lambda matrix: sum(0 not in row for row in matrix)) and (maximum := lambda matrix: max(key for key, c
   ...: ount in __import__("collections").Counter(__import__("itertools").chain.from_iterable(matrix)).most_common() if
   ...:  count > 1)) and None
 
In [2]: matrix = ((1, 1, 1,), (2, 2, 3,), (3, 3, 4,))
 
In [3]: print(count(matrix), maximum(matrix))
3 3
1
 Аватар для Miryz
291 / 131 / 58
Регистрация: 24.11.2019
Сообщений: 532
28.01.2021, 23:50
Arsegg, такое
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
29.01.2021, 07:20
Python
1
0 not in row
можно заменить на
Python
1
all(row)
Добавлено через 1 минуту
т.е.
Python
1
sum(all(row) for row in matrix)
0
29.01.2021, 10:17

Не по теме:

Цитата Сообщение от u235 Посмотреть сообщение
можно заменить на
Есть ли в этом смысл? Мне кажется обе конструкции эквивалентны.

0
29.01.2021, 12:08

Не по теме:


Arsegg,

Цитата Сообщение от Arsegg Посмотреть сообщение
Есть ли в этом смысл?
больше функций - круче


0
29.01.2021, 12:15

Не по теме:

Цитата Сообщение от u235 Посмотреть сообщение
sum(all(row) for row in matrix)
Python
1
sum(map(all, matrix))
:)

0
0 / 0 / 0
Регистрация: 27.11.2020
Сообщений: 43
29.01.2021, 17:20  [ТС]
Сделано лучше всех, но выскакивает ошибочка в последних двух строках, как не старался и не заменял скобки - исправить не получается. И еще один нюанс, массив должен быть двумерный (прямоугольный), как это исправить?
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
29.01.2021, 17:44
Цитата Сообщение от Rbnvlad10 Посмотреть сообщение
но выскакивает ошибочка в последних двух строках
В каких из? Какая ошибка?
Цитата Сообщение от Rbnvlad10 Посмотреть сообщение
как не старался и не заменял скобки
В программировании не работает метод "научного тыка"...
Цитата Сообщение от Rbnvlad10 Посмотреть сообщение
массив должен быть двумерный (прямоугольный), как это исправить
Ну должен, значит должен. Что дальше? Что исправить? Выражайся яснее...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.01.2021, 17:44
Помогаю со студенческими работами здесь

Работа с матрицей
Нужно написать программу c помощью функций, которая находит максимальный среди элементов всех строк матрицы, которые упорядочены(либо по...

Работа с матрицей
Вот матрица вида; 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ...

работа с матрицей
дана матрица 5*10. Удалить первый столбец, содержащий только положительные элементы

Работа с матрицей
Помогите, пожалуйста, решить задачу через find, заранее ОГРОМНОЕ спасибо! Сама задача: создать матрицу случайных чисел от 0 до 1, размером...

Работа с матрицей
Написать программу, которая создаст матрицу A и ПОСЛЕДОВАТЕЛЬНО изменит все окруженные положительными числами числа на разность...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru