O Sistersinspirit.ca facilita a busca por soluções para perguntas cotidianas e complexas com a ajuda de nossa comunidade. Obtenha respostas detalhadas para suas perguntas de uma comunidade dedicada de especialistas em nossa plataforma. Explore milhares de perguntas e respostas de uma comunidade de especialistas em nossa plataforma amigável.

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.

Obrigado por usar nosso serviço. Estamos sempre aqui para fornecer respostas precisas e atualizadas para todas as suas perguntas. Esperamos que tenha achado útil. Sinta-se à vontade para voltar a qualquer momento para mais respostas precisas e informações atualizadas. O Sistersinspirit.ca está aqui para fornecer respostas precisas às suas perguntas. Volte em breve para mais informações.