"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como resolver "TypeError: tipos de operandos não suportados para erros -: \'str\' e \'int\'\"?

Como resolver "TypeError: tipos de operandos não suportados para erros -: \'str\' e \'int\'\"?

Publicado em 2024-11-09
Navegar:813

How to Resolve \

"Resolvendo o TypeError: Tipo(s) de operando não suportado(s) para -: 'str' e 'int'"

Ao tentar codificar em Python, não é incomum encontrar erros como o erro "TypeError: tipos de operandos não suportados para -: 'str' e 'int'". Esse erro normalmente ocorre ao tentar realizar operações matemáticas em diferentes tipos de dados, como subtrair um número inteiro de uma string.

Para entender esse erro, vamos examinar o código que levou a ele:

def cat_n_times(s, n):
    while s != 0:
        print(n)
        s = s - 1

text = input("What would you like the computer to repeat back to you: ")
num = input("How many times: ")

cat_n_times(num, text)

O problema aqui está na função de entrada, que retorna uma string para texto e num. Enquanto o código tenta subtrair um número inteiro (s - 1) de uma string (num), resultando no erro.

Solução 1: Converta a entrada

One A solução é converter a entrada de uma string em um número inteiro antes de realizar operações matemáticas. Isso pode ser feito usando a função int():

num = int(input("How many times: "))

Ao converter num em um número inteiro, podemos garantir compatibilidade para operações matemáticas com s.

Solução 2: Use Iteração Alternativa

Em vez de acompanhar manualmente os índices, considere empregar uma abordagem mais Pythonic para iteração:

def cat_n_times(s, n):
    for i in range(n):
        print(s)

text = input("What would you like the computer to repeat back to you: ")
num = int(input("How many times: "))

cat_n_times(text, num)

Aqui, o loop for com range(n) lida com a iteração de forma eficaz.

Considerações sobre API

O erro também destaca possíveis problemas com o design da API. Pode ser mais intuitivo que text seja a string e num represente o número de vezes. Neste caso, a API pode ser modificada adequadamente.

Declaração de lançamento Este artigo foi reimpresso em: 1729316118 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3