Cvičení 5: 2D pole
náplň cvičení
Úkol 1-2 Opakování
Dvourozměrné pole
pole=[]
f=open('pole.txt','r')
for line in f:
pole.append(list(map(int, line.split())))
Matice
Úkol 3 Výpis matice
Napište funkci printMatrix
, která vypíše matici zadanou 2D polem
Prvky budou odděleny mezerou a každý řádek bude vypsán na nový řádek
Kromě prvků matice nebude vypsán žádný jiný znak
Úkol 4 Násobení vektoru a matice
Napište funkci multiVecMat(v,m)
, která vypočte součin vektoru $v$ a matice $m$.
Pokud nesouhlasí rozměry matice a vektoru, pak funkce vrací None
.
Vypočtete výsledek násobení $v \cdot m$:
m=[[0,0,1],[0,1,0],[1,0,0]]
v=[2, 4, 6]
Domácí příprava
Implementujte následující úlohy:
Funkce, která v matici najde všechny záporné hodnoty, vraťte seznam jejich indexů
Funkce pro násobení dvou matic
Funkce pro výpočet determinantu matice
Funkce pro výpočet
stopy matice
Domácí úkol
Lehká varianta
Napište program
even.py, který načte soubor zadaný jako první argument
sys.argv[1] a zjistí, který řádek a který sloupec v této matici obsahuje nejvíc sudých čísel.
Soubor obsahuje matici celých čísel m x n - čísla m a n zjistíte podle délky a počtu řádek souboru.
Program vytiskne na standardní výstup indexy všech řádků matice, které obsahují maximální počet sudých čísel (řádky začínají indexem 0, pokud má více řádků stejný počet sudých čísel, vytisknou se všechny tyto indexy vzestupně tedy od nejmenšího po největší).
Po vytištění indexů řádků, vytiskne program indexy sloupců, které obsahují maximální počet sudých čísel (sloupce začínají indexem 0, pokud má více sloupců stejný počet sudých čísel, vytisknou se všechny tyto indexy opět vzestupně od nejmenšího po největší).
Program v souboru even.py odevzdejte pomocí odevzdávacího systému (úloha HW05).
Můžete předpokládat, že všechny matice jsou zadány korektně, tedy všechny řádky mají stejný počet prvků.
Příklad
Vstup:
1 1 2 5 6 1
5 6 8 5 6 7
11 12 10 12 11 11
8 10 5 6 7 9
6 5 10 12 15 19
Výstup:
1
2
3
4
2
Těžká varianta
Příklady:
python3 wordsearch.py osmismerka.txt slova.txt
Testovat můžete na následujícím příkladu:
'osmismerka.txt'
desazevuohadao
tasorddietauet
iilesvoknevvte
rdmopoaarzzaob
aoetdlbaeebnie
hpnaaianncuudd
croplvykradlie
joeymizonauemn
emnszssolyvhuk
lohoboombmsnka
eceserpxeaielv
nichomdnamvxac
dcadcaasandruo
ovatejolynetud
'
slova.txt'
docvakne
promocic
eden
osypat
venkov
nezve
zase
vykradli
nabil
idealismem
noema
vylo
sandru
aminu
janem
idiote
yzop
ladu
nezvu
zbudu
mukla
alku
obav
synka
debet
cadca
charit
idola
nelej
seli
neonem
hekala
dalo
mand
ojet
osob
ozva
boom
nich
exprese
dieta
netu
area
zimy
ahou
rosa
ozim
vanul
lehne
mixu
saze
uvez
ossz
ulehne
hada
Výsledek Vašeho programu bude:
odpochodovaly