Primeiramente, temos um resumo do exercício para casa:
inclusive:

import random
mat = []
for i in range(4):
nova_linha = []
for j in range(4):
nova_linha.append(random.randint(0,9))
mat.append(nova_linha)
# Menu de opções
while True:
print("\\\\nMenu:")
print("[1] Imprime a matriz")
print("[2] Altera valor")
print("[3] Imprime posições")
print("[4] Imprime linha")
print("[5] Imprime a diagonal principal")
print("[6] Encerrar")
opcao = int(input("\\\\nEscolha uma opção: "))
if opcao == 1:
# Imprime a matriz
print("\\\\nMatriz:")
for linha in mat:
print(linha)
elif opcao == 2:
# Altera valor
linha = int(input("Digite a linha (0-3): "))
coluna = int(input("Digite a coluna (0-3): "))
if 0 <= linha < 4 and 0 <= coluna < 4:
novo_valor = int(input("Digite o novo valor (0-9): "))
if 0 <= novo_valor <= 9:
mat[linha][coluna] = novo_valor
print(f"Valor na posição ({linha},{coluna}) alterado para {novo_valor}")
else:
print("Valor deve estar entre 0 e 9")
else:
print("Posição inválida! Linha e coluna devem estar entre 0 e 3")
elif opcao == 3:
# Imprime posições
valor = int(input("Digite o valor a ser buscado (0-9): "))
encontrado = False
for i in range(4):
for j in range(4):
if mat[i][j] == valor:
print(f"Valor {valor} encontrado na posição ({i},{j})")
encontrado = True
if not encontrado:
print(f"Valor {valor} não foi encontrado na matriz")
elif opcao == 4:
# Imprime linha
linha = int(input("Digite o número da linha (0-3): "))
if 0 <= linha < 4:
print(f"Linha {linha}: {mat[linha]}")
else:
print("Linha inválida! Deve estar entre 0 e 3")
elif opcao == 5:
# Imprime diagonal principal
print("Diagonal principal:", end=" ")
for i in range(4):
print(mat[i][i], end=" ")
print()
elif opcao == 6:
# Encerrar
print("Programa encerrado!")
break
else:
print("Opção inválida! Escolha uma opção entre 1 e 6")
Complete o código para que ofereça ao usuário um menu com as opções a seguir e execute a
opção desejada:
[1] Imprime a matriz: apresenta a matriz, linha a linha;
[2] Altera valor: altera o valor da posição (linha e coluna) escolhida pelo usuário;
[3] Imprime posições: imprime as posições (linha e coluna) em que se encontra um número
escolhido pelo usuário ou a informação de que ele não foi encontrado na matriz;
[4] Imprime linha: imprime uma linha escolhida pelo usuário, que deve informar o número da linha;
[5] Imprime a diagonal principal;
[6] Encerrar.
elif opcao == 6:
# Encerrar
print("Programa encerrado!")
break