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.

⬅️ Capítulo Anterior | Próximo Capítulo ➡️