Informática, perguntado por Jota099, 6 meses atrás

Recentemente ocorreram mudanças na legislação de trânsito referente ao acúmulo de pontos na CNH. A partir de agora, há uma gradação no aumento desta pontuação. Ou seja, dependendo da gravidade da infração, o condutor pode perder o documento com 20, 30 ou 40 pontos acumulados dentro de 12 meses.

Se houver duas ou mais infrações gravíssimas dentro desse período, a CNH é suspensa com 20 pontos. Se houver uma infração gravíssima, a suspensão ocorre com 30 pontos. No entanto, ele só chegará aos 40 pontos dentro de 12 meses, caso não ocorra nenhuma infração gravíssima.

O Detran solicitou à equipe de TI um programa em PYTHON para controlar a aplicação dessas novas regras. Dessa forma, o programa deve solicitar o número da CNH do condutor, a quantidade de pontos registrados e a quantidade de infrações gravíssimas. O programa deve solicitar as informações até que o usuário indique que não há mais registros (0,5). Em seguida, o programa deverá gerar as seguintes informações:

a) A quantidade de condutores que tiveram a CNH suspensa com 30 pontos; (0,5)
b) O percentual de condutores que tiveram a CNH suspensa com 20 pontos; (0,5)
c) A média da quantidade de pontos registrados. (0,5)

Soluções para a tarefa

Respondido por Dyel
0

Resposta:

infracao30 = []

infracao20 = []

lista_registro = []

while True:

   cnh = int(input('\nDigite sua CNH (Digite -1 pra finalizar): '))

   if cnh == -1:

       break

   registros = int(input('Digite a quantidade de pontos: '))

   lista_registro.append(registros)

   if registros >= 40:

       print('Voce ta preso!')

       continue

   infracoes = int(input('Digite quantas infrações foram registradas: '))

   if infracoes >= 2:

       infracao20.append(infracoes)

       print('Sua carteira foi suspensa com 20 pontos.')

   elif infracoes == 1:

       infracao30.append(infracoes)

       print('Sua carteira foi suspensa com 30 pontos.')

   elif infracoes == 0:

       print('Voce não possui infrações!')

media = 0

if len(lista_registro) != 0:

   media = sum(lista_registro) / len(lista_registro)

print(f'Quantidade de condutores que tiveram a CNH suspensa com 30 pontos = {len(infracao30)}')

print(f'Quantidade de condutores que tiveram a CNH suspensa com 20 pontos = {len(infracao20)}')

print(f'Media de quantidade de pontos = {media}')

Explicação:

Perguntas interessantes