1. Verificando:
O primeiro exemplo apresenta um código Python que demonstra como verificar se uma string pode ser convertida em um número. Primeiro, o usuário é solicitado a digitar um número usando o comando input(), e o valor é armazenado na variável val. Em seguida, a string digitada é impressa.
val = input("Type in a number: ")
print(val)
print(val.isdecimal())
print(val.isnumeric())
if val.isdecimal():
num = int(val)
print(num)
2. Adicionando números digitados pelo usuário:
O segundo exemplo mostra um programa Python que solicita ao usuário para digitar dois números usando input(). Os números digitados são armazenados como strings nas variáveis a e b. Para realizar a soma correta, é necessário converter essas strings em números inteiros usando a função int() antes de efetuar a operação matemática. O programa então calcula a soma dos números convertidos e a imprime como resultado.
def main():
a = input('First number: ')
b = input('Second number: ')
print(int(a) + int(b))
main()
3. Importância de converter strings em números:
A seguir, é explicada a importância de converter strings em números antes de realizar operações matemáticas. Quando usamos o input(), a entrada é sempre tratada como uma string, mesmo que o usuário digite apenas números. Se tentarmos somar as strings diretamente com o operador +, obteremos a concatenação das duas strings em vez da soma dos números. Portanto, é essencial converter as strings em números utilizando as funções int() ou float() antes de realizar cálculos matemáticos para obter o resultado correto.
a = input('First number: ')
b = input('Second number: ')
print(int(a) + int(b))
4. Conversão de string para int:
O próximo exemplo demonstra a conversão de uma string em um número inteiro usando a função int(). Primeiro, a variável a é definida como uma string contendo o valor "23". Ao imprimir o valor de a, será exibido o conteúdo da string, que é 23. Em seguida, ao imprimir o tipo da variável a, será mostrado que é uma string (<class 'str'>).
a = "23"
print(a) # 23
print(type(a)) # <class 'str'>
b = int(a)
print(b) # 23
print(type(b)) # <class 'int'>
5. Tentativa de conversão de uma string com caracteres não numéricos para int:
O exemplo seguinte apresenta uma tentativa de converter a string "42 for life" em um número inteiro usando a função int(). Contudo, como a string contém caracteres não numéricos ("for life"), a conversão para inteiro gera uma exceção ValueError. O programa exibe o valor original da string a, o tipo dela (<class 'str'>), e tenta converter essa string para um número inteiro, mas uma exceção é lançada. Essa exceção ocorre porque a função int() espera uma string que represente um número inteiro válido, sem caracteres adicionais.
a = "42 for life"
print(a) # 42 for life
print(type(a)) # <class 'str'>
try:
b = int(a)
print(b)
print(type(b))
except ValueError as e:
print(e)
6. Conversão de float para int:
O último exemplo mostra a conversão de um número de ponto flutuante (float) para um número inteiro (int). A variável a é definida com o valor 2.1, que é um número de ponto flutuante. O tipo de a é <class 'float'>. Em seguida, é realizada a conversão de a para um número inteiro usando int(), que trunca o valor decimal e retorna apenas a parte inteira (neste caso, 2). O programa imprime o valor convertido 2 e os tipos de variáveis envolvidas. Além disso, são apresentadas outras formas de realizar a conversão usando int() e float() em conjunto.
a = "2.1"
print(a) # 2.1
print(type(a)) # <class 'str'>
b = int(a)
print(b)
print(type(b))
# Traceback (most recent call last):
# File "converte.py", line 5, in <module>
# b = int(a)
# ValueError: invalid literal for int() with base 10: '2.1'
a = "2.1"
b = float(a)
c = int(b)
print(c) # 2
print(type(a)) # <class 'str'>
print(type(b)) # <class 'float'>
print(type(c)) # <class 'int'>
d = int(float(a))
print(d) # 2
print(type(d)) # <class 'int'>
print(int(float(2.1))) # 2
print(int(float("2"))) # 2
print(int(float(2))) # 2
コメント