Untitled
unknown
python
3 years ago
2.6 kB
8
Indexable
import random
import numpy as np
from statistics import variance
def generate():
global rows, cols, rmin, rmax,matrix,tmparr
matrix = []
tmparr = []
rows = int(input('Количество строк: '))
cols = int(input('Количество столбцов: '))
rmin = int(input('Минимальное значение: '))
rmax = int(input('Максимальное значение: '))
for i in range(rows):
row = []
for j in range(cols):
row.append(round(rmin + (rmax - rmin) * random.random(),2))
matrix.append(row)
generate()
print('-'*30)
def prt_disp(r,c):
for i in matrix:
row = []
for j in i:
row.append(j)
print("%.2f " %j, end=" ")
print("med= ", variance(row))
print()
def txt():
tmp = []
i = 0
for i in range(rows):
print()
for j in range(cols):
tmp = (matrix[i][j])
print("%.2f " %tmp,end= " ")
j = j + 1
tmp = []
i = i + 1
print()
txt()
while True:
#print (matrix)
print()
print('Дудник Кирилл, вариант 16')
print('Введите цифру')
print('1 - транспонировать')
print('2 - вывод матрицы')
print('3 - дисперсия в каждой строке')
print('4 - для среднего арифметического элементов побочной диагонали')
print('5 - Перезапуск')
choice = int(input('введите число: '))
print('')
print('')
print('')
if choice == 1:
tmparr = [*zip(*matrix)]
matrix = [list(rw) for rw in tmparr]
t = cols
cols = rows
rows = t
# prt(rows,cols)
txt()
print('-' * 30)
elif choice == 2:
#prt(rows,cols)
txt()
print('-' * 30)
elif choice == 3:
prt_disp(rows,cols)
print('-' * 30)
elif choice == 4:
txt()
print('')
print('')
print('')
b = np.asarray(matrix)
b = np.fliplr(b)
#print(np.trace(b))
print('Среднее значение побочной диагонали: ','{:.2f}'.format(np.trace(b)/min(rows,cols)))
#print(min(rows,cols))
print('-' * 30)
elif choice == 5:
generate()
txt()
print('-' * 30)
else:
print('Ошибка')Editor is loading...