Informática, perguntado por victorsoares49, 9 meses atrás

Elabore um programa que preencha uma matriz 12 x 4 com os valores das vendas
de uma loja, em que cada linha representa um mês do ano e cada coluna representa
uma semana do mês. O programa deverá calcular e mostrar:
a) o total vendido em cada mês do ano, mostrando o nome do mês por extenso;
b) o total vendido em cada semana durante todo o ano.
c) o total vendido pela loja no ano.

preciso em python

Soluções para a tarefa

Respondido por GeBEfte
6

O programa abaixo, que também pode ser conferido na figura anexada, não conta com validação de dados ou tratamento de exceções/erros, portanto espera-se que o usuário entre com os dados de forma correta.

Como o programa tem bastantes detalhes, deixo possíveis dúvidas para serem explicadas nos comentários.

Obs.: Os pontos que precedem as linhas de programação não fazem parte do programa e não devem ser copiados, foram utilizados apenas para garantir a indentação do código aqui no site.

meses = ('Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro')

ano=list()

venda_mes = list()

total = 0

# Preenchimento da matriz

for mes in range(12):

.....for semana in range(4):

..........venda_mes.append(float(input(f'Vendas da {semana+1}ª semana do mês de {meses[mes]}: ')))

.....ano.append(venda_mes.copy())

.....total += sum(venda_mes)

.....venda_mes.clear()

# Apresentação dos dados informados

print(f'\n{"Vendas no Ano".center(67)}')

print(f'{"Mes".center(10)} {"1ª semana".center(10)} {"2ª semana".center(10)} {"3ª semana".center(10)} {"4ª semana".center(10)} {"Total no mês".center(12)}')

for mes in range(12):

.....print(f'{meses[mes].center(10)}', end=' ')

..........for semana in range(4):

..........print(f'{ano[mes][semana]:.2f}'.rjust(8).center(10), end=' ')

.....print(f'{sum(ano[mes]):.2f}'.rjust(10).center(12))

print(f'\nTotal anual: R${total:.2f}')

Como dica para testagem do código, podemos utilizar um randomizador para que não seja necessário preencher todos 48 valores solicitados no programa.

ex.: Adicione (sem aspas) "from random import uniform" no topo do código e substitua a linha "venda_mes.append(float(input(f'Vendas da {semana+1}ª semana do mês de {meses[mes]}: ')))" por "venda_mes.append(uniform(0, 10000))". Neste caso a matriz será preenchida por valores em ponto flutuante de 0 a 10000.

\Huge{\begin{array}{c}\Delta \tt{\!\!\!\!\!\!\,\,o}\!\!\!\!\!\!\!\!\:\,\perp\end{array}}Qualquer~d\acute{u}vida,~deixe~ um~coment\acute{a}rio

Anexos:
Perguntas interessantes