[EP1] Passando bizarrices como input do humano

Re: [EP1] Passando bizarrices como input do humano

por Marcelo Queiroz -
Número de respostas: 0

Oi, Vitor!

Sim, existe uma inconsistência no enunciado. Acho que isso foi mencionado na aula de hoje. Especificamente, a inconsistência é entre a frase "Seu programa em Python deve se comportar exatamente como o executável disponível no PACA" e as "Instruções para Entrega de EPs no PACA", cujo item 9 diz "O seu programa não precisa fazer consistência dos dados de entrada. Isto significa que se, por exemplo, o seu programa pede um número entre 0 e 5 e o usuário digita um número negativo, uma letra, um cifrão, uma arroba, ..., o seu programa pode travar o computador ou explodir sem ficar envergonhado." (Note entretanto que isso não se aplica aos asserts, que fazem verificação de consistência dos dados, mas estão especificados no enunciado).

Em particular, a leniência com que o executável trata as bizarrices na entrada não precisa ser replicada em Python. Mas para a cultura geral de vocês, sempre dá para testar se uma entrada é ou não um número inteiro, e decidir o que fazer se não for, por exemplo pedindo de novo:

x = input("Digite um número: ")
while not x.isdecimal():
    x = input("Digite um número: ")
x = int(x)
print("Até que enfim entendeu!")

Veremos mais sobre processamento de strings após a prova.

Abraços,

Marcelo