Javascript Math Pow vs Multiplicação

| | | | | | |

Enquanto strings podem ser multiplicadas por números inteiros para criar uma sequência repetida, strings não podem ser multiplicadas por números de ponto flutuante. Caso contrário, o Python retorna um erro.

Neste artigo, falaremos sobre o erro " typeerror: cannot multiplica sequence by non-int do tipo `float`" e por que ele é acionado . Vamos examinar um cenário de exemplo com este erro presente para que possamos corrigi-lo.

erro de tipo: não é possível multiplicar sequência por não inteiro do tipo `float`

Vamos lançar um take dê uma olhada em nossa mensagem de erro e veja o que ela nos diz:

Nosso erro é um TypeError. Isso significa que estamos tentando realizar uma operação em um valor cujo tipo de dado não aceita não suporta esta operação. Por exemplo, se você tentar concatenar um inteiro e uma string, um erro de tipo será retornado.

O erro nos informa que estamos multiplicando uma sequência, também chamada de string , de um número de ponto flutuante . Isso não é suportado pelo Python.

Existem dois tipos de números em Python: números inteiros e números de ponto flutuante. Os inteiros são inteiros enquanto os números de ponto flutuante são decimais.

Strings podem ser multiplicadas por inteiros. Considere este exemplo:

Nosso código retorna: SconeSconeScone. Quando você multiplica uma string por um inteiro , uma sequência repetida dessa string é criada.

Strings não podem ser multiplicadas por números de ponto flutuante. Se você tentasse multiplicar nossa string "scone" por 3,3, o que o Python faria? Você não pode ter 0,3 de uma string. Em seguida, um erro é retornado.

Um cenário de exemplo

Esse erro é comumente encontrado ao usar declarações input() . Vejamos um programa que calcula um desconto de 5% em uma compra feita em uma loja.

Temos declarou uma variável chamada de valor que armazena quanto o cliente gastou em uma compra. Esse valor é coletado do usuário usando o método input ().

A seguir, gostaria de declarar uma variável chamada desconto, que armazena os 5% de desconto que aplicaremos nas compras como um número decimal. Em seguida, calculamos a porcentagem de desconto multiplicando "valor" e "desconto". Em seguida, subtraímos esse número do custo total do produto.

Usamos método round() para arredondar o valor de "final_cost" para duas casas decimais. Em seguida, imprimimos esse valor no console.

Vamos tente executar nosso código:

Oh não. Ocorreu um erro retornado. Vamos corrigir este erro.

O erro "Erro de tipo: não é possível multiplicar sequência para não inteiro do tipo `float` " é causado pela multiplicação de uma string e um número de ponto flutuante.

Este erro ocorreu em nosso programa anterior porque em put() retorna uma string. Isso significa que mesmo se inserirmos um número em nosso programa, ele será armazenado como uma string.

Para resolver este problema, podemos converter o valor que o usuário insere no programa em um número de valor de ponto variável. Podemos fazer isso usando o método float() :

O float() é cercado pelo método input(). O método float() converte o valor da string retornado por input() em um número de ponto flutuante. Isso nos permite multiplicar o "valor" e o "desconto", pois são dois números.

Vamos tentar executar nosso código novamente:

Nosso código funciona! Nosso programa nos diz que um desconto de 5% no valor de uma compra de $ 12,99 faz com que o produto final custe $ 12,34 .



Conclusão

Strings não podem ser multiplicadas por números de ponto flutuante. Isso ocorre porque a multiplicação de strings por números inteiros cria uma sequência repetida de a string. Isso não é possível usando um ponto flutuante, pois faria com que uma string fosse multiplicada por valores decimais.

Para resolver " typeerror: cannot multiplica sequence for non-int of type `float `" , certifique-se de que todos os valores de string ‚Äã‚Äã sejam convertidos em número de ponto flutuante float se usado como parte de um cálculo.

Agora você está pronto para resolver esse erro como Especialista em Python !

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method