1
resposta

Calculando pedágio

motorista = {
    "nome": "",
    "distancia_percorrida": 0.0,
    "valor_pedagio": 0.0
}

def ler_nome():
    motorista['nome'] = validar_nome(input("Informe o nome do motorista: "))

def validar_nome(nome):
    if nome.strip() == "":
        print("Nome inválido. Definindo nome como 'Desconhecido'.")
        return "Desconhecido"
    return nome.strip()

def ler_distancia():
    motorista['distancia_percorrida'] = validar_distancia(input("Informe a distância percorrida (em km): "))

def validar_distancia(distancia):
    try:
        distancia = float(distancia)
        if distancia < 0:
            print("Distância não pode ser negativa. Definindo como 0.")
            return 0.0
        return distancia
    except ValueError:
        print("Distância inválida. Definindo distância como 0.")
        return 0.0

def calcular_pedagio():
    if motorista['distancia_percorrida'] < 100.0:
        motorista['valor_pedagio'] = 10.0
    elif 100.0 <= motorista['distancia_percorrida'] <= 200.0:
        motorista['valor_pedagio'] = 20.0
    else:
        motorista['valor_pedagio'] = 30.0

def exibir_resultado():
    print(f"Motorista {motorista['nome']} deve pagar R$ {motorista['valor_pedagio']:.2f} de pedágio.")


ler_nome()
ler_distancia()
calcular_pedagio()
exibir_resultado()
1 resposta

Bom dia! Como está?

A resposta para a atividade ficou incrível!

Notei que você utilizou o dicionário para estruturar os dados do motorista, aplicou de forma eficaz o tratamento de exceções com try except para validar entradas e compreendeu a importância do uso de funções separadas para organizar melhor o fluxo do programa.

Permaneça postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!