Como converter string para int em python

Visualização da solução: converta uma string numérica comint(). Para entradas não decimais (binário, hexadecimal) passam uma base. Adicione o manuseio de erros ou a pré -validação para lidar com a entrada inválida.

Método 1: Converta uma sequência numérica decimal com int ()

Etapa 1:Armazene ou leia a sequência numérica.

s = "42"

Etapa 2:Converta a string em um número inteiro.

n = int(s)

Etapa 3:Use o número inteiro nos cálculos ou imprimi -lo.

print(n * 2)  # 84

Dica:int()ignora o espaço em branco da liderança/à direita e suporta sinais opcionais como"+17"ou" -3 ".

Método 2: Strings de análise em outras bases (binário, hexadecimal, octal)

Etapa 1:Identifique a base da sua corda (2 para binário, 8 para octal, 16 para hexadecimal).

Leia sugerida:

Etapa 2:Passe a base como o segundo argumento paraint().

# Binary
b = "1010"
n = int(b, 2)   # 10

# Hexadecimal
h = "1A"
m = int(h, 16)  # 26

Nota: Você pode usar qualquer base entre 2 e 36.

Método 3: Manuseie a entrada inválida com segurança (tente/exceto ou pré-verificar)

Etapa 1:Enrole a conversão em um bloco Try/exceto para obter uma entrada ruim.

s = "abc"
try:
    n = int(s)
    print(n)
except ValueError:
    print("Invalid input: cannot convert to integer")

Etapa 2:Opcionalmente pré -validado comstr.isdigit()Para entradas apenas digitadas.

s = "12345"
if s.isdigit():
    print(int(s))
else:
    print("Not a pure digit string")

Verificar:str.isdigit()não aceita sinais ("-5") ou decimais ("12.3"). Use a tentativa/exceto o caminho para esses casos.

Método 4: Converter strings semelhantes a bóia para int

Etapa 1:Converta a corda em um flutuador e depois para um int.

s = "88.8"
n = int(float(s))  # 88 (truncates toward zero)

Nota: Isso trunca a parte fracionária. Se você precisar de arredondamento, converta parafloate aplicarround()antesint().

Método 5: converta uma lista de strings numéricos

Etapa 1:Mapear cada elemento atravésintPara construir uma nova lista.

xs = ["1", "2", "3"]
nums = list(map(int, xs))  # [1, 2, 3]

Etapa 2:Como alternativa, use uma compreensão da lista.

nums = [int(x) for x in xs]

Dica: se os itens puderem ser inválidos, embrulhe a conversão em uma função que usa tentativa/exceto e aplique -a commapou uma compreensão.

Armadilhas comuns

  • Passando texto não numérico (por exemplo,"hello") aumentosValueError. Use tente/exceto para manter seu programa em funcionamento.
  • Analisando uma corda de flutuação (por exemplo,"12.5") comint()falha; converter parafloatPrimeiro, se o truncamento for aceitável.
  • A análise da base específica da base sem a base correta fornece resultados ou erros incorretos. Sempre passe a base quando a string não é decimal.

Comint()Para análise direta, um argumento básico para seqüências de strings não decimais e validação simples, você pode converter entradas com confiança e manter seu código robusto.

Related Posts