Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from random import randint
- from pprint import pprint
- matrix_size = None
- while matrix_size not in (2, 3, 4, 5):
- try:
- matrix_size = int(input('Input size of matrix: '))
- if matrix_size not in (2, 3, 4, 5):
- raise ValueError
- except ValueError:
- print('Give correct data for size of matrix (integer number from 2 to 5')
- matrix = [[0 for i in range(matrix_size)] for j in range(matrix_size)]
- command_chose = None
- while command_chose not in (1, 2):
- try:
- command_chose = int(input('1.Ввести числа самостоятельно\n2.Заполнить автоматически\nYou answer: '))
- except ValueError:
- print('Give correct data for choose the command')
- if command_chose == 1:
- for i in range(matrix_size):
- for j in range(matrix_size):
- number = None
- while not isinstance(number, int) or number > 100 or number < 0:
- try:
- number = int(input(f'Введите число от 0 до 100 для {i} строки и {j} колонки матрицы: '))
- except ValueError:
- print('Неверные данные (type of integer and range from 1 to 100')
- matrix[i][j] = int(number)
- elif command_chose == 2:
- for i in range(matrix_size):
- for j in range(matrix_size):
- matrix[i][j] = randint(1, 100)
- diagonal_elements = [matrix[i][i] for i in range(matrix_size) for j in range(matrix_size) if i == j]
- diagonal_elements.sort()
- pprint(matrix)
- print(diagonal_elements)
- for i in range(matrix_size):
- for j in range(matrix_size):
- if i == j:
- matrix[i][j] = diagonal_elements[i]
- else:
- matrix[i][j] *= -1
- pprint(matrix)
- n_diag_max = None
- available_max = [i for i in range(matrix_size)]
- while n_diag_max not in available_max:
- try:
- n_diag_max = int(input('Get number n-maximum on main diag of matrix: '))
- n_diag_max -= 1
- except ValueError:
- print('Invalid data, please try again')
- print(f'N maximum is {diagonal_elements[n_diag_max]}')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement