for n in m:
print(n, end=' ')
print()
6. Тізімдегі барлық сандар қосындысын қабаттасқан
for
циклдеріндегі
range()
функциясы арқылы табу:
m=3; n=4
a = [[5,2,3,1], [8,7,11,9], [1,2,2,8]]
s = 0
for i in range(m):
for j in range(n):
s += a[i][j]
print('s =',s)
Нәтиже:
11 12 13 14
15 16 17 18
19 20 21 22
Нәтиже:
s = 59
7. Екі өлшемді жиым жолдарының қосындысы:
a = [[5,2,3,1], [8,7,11,9], [1,2,2,8]]
# жиым жолдарының қосындысы
for
row
in
a:
s = 0
for
elem
in
row:
s += elem
print(row,
'\ts ='
,s)
Жиым бағаналарының қосындысы:
a[3][4] жиымын шығарып, оның бағаналары қосындысын табу үшін
бағаналар мен жолдар орнын алмастыра отырып табу керек болады.
Екі өлшемді тізімді өңдеу
Нәтиже:
[5, 2, 3, 1]
s = 11
[8, 7, 11, 9]
s = 35
[1, 2, 2, 8]
s = 13
8. Жиым бағаналарының қосындысы:
# a[3][4] жиымын шығару, бағаналар қосындысын табу
m=3; n=4
a = [[5,2,3,1],[8,7,11,9],[1,2,2,8]]
# жиымды шығару
for
i
in
range(m):
for
j
in
range(n):
print(a[i][j],
'\t'
, end=
''
)
print()
print(
'--------------'
)
# a[3][4] жиымының бағаналары қосындысы
for
i
in
range(n):
s = 0
for
j
in
range(m):
s += a[j][i]
print(s,
'\t'
, end=
''
)
Нәтиже:
5
2
3
1
8
7
11
9
1
2
2
8
----------------
14
11
16
18
Екі өлшемді тізімді өңдеу
Екі өлшемді тізімді өңдеу
9. Жиымды кездейсоқ сандармен толтырып алып, жиым жолдары мен
бағаналарының қосындысын табу
from
random
import
random
M =
4;
N =
3
#
3 жол 4 бағана
a = []
#
а жиымы үшін бос тізім құру
for
i
in
range
(N):
b = []
#
жолдар қосындысы үшін бос тізім құру
for
j
in
range
(M):
b.append(
int
(random() *
11
))
print
(
"%3d"
% b[j],
end
=
''
)
a.append(b)
print
(
' |'
,
sum
(b))
for
i
in
range
(M):
print
(
" --"
,
end
=
''
)
print
()
for
i
in
range
(M):
s =
0
for
j
in
range
(N):
s += a[j][i]
print
(
"%3d"
% s,
end
=
''
)
print
()
Нәтиже:
7 7 1 5 | 20
8 7 2 2 | 19
9 6 7 8 | 30
-- -- -- --
24 20 10 15
10. Екі өлшемді квадрат матрицаны өңдеу тәсілдері
Екі өлшемді тізімді өңдеу
Мұнда жолдар
саны мен баға-
налар саны
бірдей болады.
m=n=4
Екі өлшемді квадрат матрицаны өңдеу тәсілдері,
төмендегі
i
– жол нөмірлері, ал
j
– бағана нөмірлері
•
Бас диагональ элементтерінің қасиеті:
i=j
•
Бас диагональдан жоғары элементтер қасиеті:
i
•
Бас диагональдан төмен элементтер қасиеті:
i>j
•
Қосалқы диагональ элементтерінің қасиеті:
i+j=n-1
•
Қосалқы диагональдан жоғары эл-тер қасиеті:
i+j
•
Қосалқы диагональдан төмен эл-тер қасиеті:
j+j>n-1
Енді бас және қосалқы диагональ элементтерін өңдей аламыз.
Екі өлшемді тізімді өңдеу
4 жол мен 4 бағанадан тұратын квадрат матрицаны төмендегідей түрде (ақ түсті)
толтыру керек болсын делік.
1 0 0 0
2 1 0 0
2 2 1 0
2 2 2 1
A[4][4] (
A[i][j]
) жиымының бас диагональ элементтерін (
i==j
)
1
-мен толтырамыз, бас диагональдан жоғары тұрған элементте-
терін (
i)
2
-мен, ал бас диагональдан төмен орналасқандарын
(
i>j
)
0
-мен толтыру керек. Сонда келесі алгоритм аламыз.
n = 4 #
тізімді 0-мен толтыру
a = [[0] * n for i in range(n)]
#
нөлдік жиымды шығару
for i in range(n):
print(a[i])
print('-----------')
Екі өлшемді тізімді өңдеу
for i in range(n):
for j in range(n):
if i < j:
a[i][j] = 0
elif i > j:
a[i][j] = 2
else:
a[i][j] = 1
#
нәтижелік жиымды шығару
for i in range(n):
print(a[i])
print('-----------')
[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]
-------------
[1, 0, 0, 0]
[2, 1, 0, 0]
[2, 2, 1, 0]
[2, 2, 2, 1]
Нәтиже:
СОҢЫ...
Достарыңызбен бөлісу: |