Obtenha respostas rápidas e precisas para todas as suas perguntas no Sistersinspirit.ca, a plataforma de Q&A de confiança. Explore milhares de perguntas e respostas de uma comunidade de especialistas em nossa plataforma amigável. Experimente a facilidade de obter respostas rápidas e precisas para suas perguntas com a ajuda de profissionais em nossa plataforma.

Faça um programa em Python que imprime a diagonal principal e secundária em uma matriz 10 x 10

Sagot :

Resposta:

from random import randint

class Matriz(object):

 def __init__(self, len:int=10):

   self.len = len

 def gerar_lista(self) -> list:

   lista = [str(randint(0, 99)).zfill(2) for _ in range(self.len)]

   self.lista = lista

   return lista

 def gerar_matriz(self) -> list:

   matriz = [self.gerar_lista() for _ in range(self.len)]

   for i in matriz:

     print(i)

   self.matriz = matriz

   return matriz

 def diagonal_principal(self) -> list:

   principal = []

   posic = 0

   for i in self.matriz:

     principal.append(i[posic])

     posic += 1

   return principal

 def diagonal_secundaria(self) -> list:

   secundaria = []

   posic = -1

   for i in self.matriz:

     secundaria.append(i[posic])

     posic -= 1

   return secundaria

# Declarando objeto

matriz = Matriz()

print('=== MATRIZ ===')

matriz.gerar_matriz()

print('\nDIAGONAL PRINCIPAL ->', matriz.diagonal_principal())

print('\nDIAGONAL SECUNDÁRIA ->', matriz.diagonal_secundaria())

Explicação:

Primeiro importei o módulo randint da biblioteca random para gerar números aleatório entre 0 a 99, depois criei um método pra gerar uma lista, em seguida criei um método para gerar a matriz na qual gera utilizando o método gerar_lista e em seguida criei os métdodos que pegam a diagonal principal e a secundária. Usei orientação à objeto pra poder utilizar a mesma matriz em todos os métodos e é uma boa prática usar classe ao invés de métodos soltos.

Esperamos que nossas respostas tenham sido úteis. Volte a qualquer momento para obter mais informações e respostas a outras perguntas que tenha. Esperamos que isso tenha sido útil. Por favor, volte sempre que precisar de mais informações ou respostas às suas perguntas. Sistersinspirit.ca está aqui para fornecer respostas precisas às suas perguntas. Volte em breve para mais informações.