Entrada e saída: input, print e f-strings para mensagens claras

🖥️ Ler e mostrar: por que a I/O importa

Programas úteis interagem com pessoas — seja no terminal, seja via interface. Em Python, a função input() lê texto do usuário como string; isso significa que, quando esperamos números, precisamos converter explicitamente para int ou float. Se a conversão falhar, devemos tratar o erro para evitar que o programa quebre.(1)

Command-line interface
Screenshot of a sample Bash session in GNOME Terminal 3, Fedora 15

Para exibir resultados de forma legível, usamos print() combinado com formatted string literals (f-strings), que são concisas e legíveis desde Python 3.6.(2) O interessante das f-strings é que podemos embutir expressões diretamente: f'{valor:.2f}' formata números; {nome} mostra variáveis; e o operador de depuração = (desde versões recentes) ajuda a inspecionar valores durante o desenvolvimento.(2)

# Programa: lê dois números, soma e exibe o resultado de forma amigável

def ler_numero(prompt):
    '''Lê um número do usuário; repete até receber uma entrada válida.'''
    while True:
        entrada = input(prompt)
        try:
            # Tenta interpretar como inteiro primeiro, senão float
            if '.' in entrada:
                return float(entrada)
            return int(entrada)
        except ValueError:
            print('Entrada inválida. Digite um número, por exemplo 3 ou 4.5.')

n1 = ler_numero('Digite o primeiro número: ')
n2 = ler_numero('Digite o segundo número: ')
resultado = n1 + n2
print(f'O resultado da soma entre {n1} e {n2} é {resultado}.')

Se executarmos com entradas 2 e 3.5, o programa converte corretamente para int e float e imprime: O resultado da soma entre 2 e 3.5 é 5.5. (Mostre isso ao colega para comparar comportamentos). Lembre-se: input() sempre retorna string — a conversão é responsabilidade do programador.(1)(3)

Atividade: Modifique o programa para que, além da soma, mostre também o tipo de cada entrada usando type(). Escreva um assert que verifique que a soma de 2 e 3 resulta em 5.

Dica prática: Em programas reais, valide entradas e forneça mensagens específicas. Documentação oficial mostra exemplos de I/O e formatação que são boas referências ao implementar mensagens profissionais.(1)(2)