Форум сайта python.su
С наступающим Новым Годом, уважаемые форумчане! Помогите, пожалуйста, перевести с Паскаля на Питон
Вот задача:
Написать программу, которая квадратной матрице (10х10) находит произведение ненулевых диагональных элементов.
Моё решение на Паскале:
program abc;
var
a: array of longint;
i, j: byte;
mult: longint;
begin
randomize;
for i:=1 to 10 do begin
for j:=1 to 10 do begin
a := random(5);
write(a:4);
end;
writeln;
end;
mult := 1;
for i:=1 to 10 do
if a <> 0 then
mult := mult * a;
for i:=1 to 10 do
if (a <> 0) and (i <> 10-i+1) then
mult := mult * a;
writeln(mult);
readln;
end.
Офлайн
from random import randint matrix = [[randint(0, 10) for y in range(10)] for x in range(10)] m =1 for i in range(10): if matrix[i][i]: m *= matrix[i][i] print(m)
Офлайн
from random import randint matrix = [[randint(0, 10) for y in range(10)] for x in range(10)] m = [matrix[i][i] for i in range(10) if matrix[i][i]] m = reduce(lambda x, y: x*y, m) if m else 0 print(m)
Офлайн
HelloWorldУ матрицы две диагонали.
произведение ненулевых диагональных элементов
Онлайн
py.user.nextно не сказано брать две или одну, а если две, то средний учитывать два раза?!
У матрицы две диагонали.
from random import randint matrix = [[randint(0, 10) for y in range(10)] for x in range(10)] m = [matrix[i][i] for i in range(-10, 10) if matrix[i][i]] m = reduce(lambda x, y: x*y, m) if m else 0 print(m)
Отредактировано terabayt (Дек. 30, 2014 01:26:40)
Офлайн
terabaytЗачем? Достаточно его исключить из побочной.
то средний учитывать два раза?!
terabaytНе, матрица - это математическое понятие. Там есть главная и побочная диагональ. А то, что у него на Паскале, - это точно так же неправильно написано на Паскале, как это можно неправильно написать на Питоне.
и, хоть я и не зная паскаль, но мне кажется, что там только одна диагональ.
Отредактировано py.user.next (Дек. 30, 2014 02:47:13)
Онлайн
вот, к примеру
“Единичной матрицей называется диагональная матрица, диагональные элементы которой равны 1.”
“Диагональные элементы матрицы (т.е. элементы, стоящие на главной диагонали)”
и везде в интернете под диагональными элементами подразумеваются элементы главной диагонали!
Офлайн
http://math1.ru/education/matrix/matrix.html
Главные диагональные элементы, побочные диагональные элементы. Сумма главных диагональных элементов называется следом матрицы.
terabayt
и везде в интернете под диагональными элементами подразумеваются элементы главной диагонали!
Онлайн
py.user.nextну значит нужно найти произведение только одной диагонали?!
подразумевают, что если не говорится главные это или побочные, то считается, что это главные.
Офлайн
.
Отредактировано Isem (Янв. 6, 2015 06:46:02)
Офлайн