3.10 Convertendo Uma String Para Inteiro
A função input() lê o valor digitado pelo usuário como uma string.
chute = input(‘Digite um número: ’)
Se o usuário digitar o número 42, a variável chute vai guardar o valor “42” , ou seja, um texto. Podemos checar isso através da função type() que retorna o tipo da variável. Vamos testar isso no terminal:
chute = input(‘Digite um número: ’) Digite um número:
type(chute)
<class ‘str’>
Agora fica mais claro porque o programa não está funcionando como o esperado. Quando o interpretador verificar chute == numero vai retornar False já que “42” (texto) é diferente de
(número).
Para funcionar, precisamos converter a string “42” para um número inteiro. O int também funciona como uma função (mais para frente entenderemos que não é realmente uma função) que pode receber uma string e retornar o inteiro correspondente:
numero_em_texto = ‘12’ ‘12’
type(numero_em_texto)
<class ‘str’>
numero = int(numero_em_texto)
type(numero)
<class ‘int’>
Mas devemos tomar cuidado, nem toda string pode ser convertida para um número inteiro:
numero = int(texto)
Traceback (most recent call last): File "<stdin>", line 1, in <module>
O interpretador acusa um **ValueError** dizendo que o valor passado para int() é inválido, ou seja, é um texto que não representa um número inteiro.