Multiplicación en Python

No sé cómo multiplicar en python.

Si hago esto:

price = 1 * 9 

Aparecerá así:

 111111111 

Y la respuesta debe ser 9 ( 1x9=9 )

¿Cómo puedo hacer que se multiplique correctamente?

Solo cuando multiplicas un entero por una cadena, obtendrás una cadena repetitiva.

Puede usar el método de fábrica int() para crear un entero a partir de una forma de cadena de entero.

 >>> int('1') * int('9') 9 >>> >>> '1' * 9 '111111111' >>> >>> 1 * 9 9 >>> >>> 1 * '9' '9' 
  • Si ambos operandos son int , obtendrás la multiplicación de ellos como int.
  • Si el primer operando es una cadena y el segundo es int . Su cadena se repetirá muchas veces, como el valor en su segundo operando entero.
  • Si el primer operando es entero y el segundo es una cadena , obtendrás la multiplicación de ambos números en forma de cadena.

Es la diferencia entre cadenas y enteros. Ver:

 >>> "1" * 9 '111111111' >>> 1 * 9 9 

Use números enteros en lugar de cadenas.

Asegúrate de lanzar tu cadena a ints

price = int('1') * 9

El código de ejemplo real que publicaste devolverá 9 no 111111111

Deberia trabajar:

 In [1]: price = 1*9 In [2]: price Out[2]: 9 

Creo que estás confundido acerca de los tipos aquí. Solo obtendrás ese resultado si estás multiplicando una cadena. Inicia el intérprete y prueba esto:

 >>> print "1" * 9 111111111 >>> print 1 * 9 9 >>> print int("1") * 9 9 

Así que asegúrese de que el primer operando sea un entero (y no una cadena), y funcionará.

No puedes multiplicar un número entero por una cadena. Para estar seguro, puede intentar usar el comando int (abreviatura de entero que significa número entero), como por ejemplo:

 firstNumber = int(9) secondNumber = int(1) answer = (firstNumber*secondNumber) 

Espero que haya ayudado 🙂

 In [58]: price = 1 *9 In [59]: price Out[59]: 9