Foros Python
Conversión de entero a cadena - Versión para impresión

+- Foros Python (https://foro.recursospython.com)
+-- Foro: Desarrollo (https://foro.recursospython.com/forumdisplay.php?fid=1)
+--- Foro: General (https://foro.recursospython.com/forumdisplay.php?fid=9)
+--- Tema: Conversión de entero a cadena (/showthread.php?tid=685)



Conversión de entero a cadena - m4rk - 22-06-2020

Mi nombre es Marcos estoy tratando de crear un programa sencillo para practicar pero tengo un problema:
Este es el código que escribí

Código:
num1 = int(input("ingresa un numero: "))
num2 = int(input("ingresa otro numero: "))
q = input("¿Que quieres hacer?: 1=sumar, 2=restar: ")

if int(q) == 1:
    resultado = num1 + num2
   print("Has seleccionado la suma: " + resultado)
elif int(q) == 2:
   resultado = num1 - num2
   print("Has seleccionado una resta: " + resultado)
 y esta es la salida

Código:
ingresa un numero: 2
ingresa otro numero: 2
¿Que quieres hacer?: 1=sumar, 2=restar: 1
Traceback (most recent call last):
  File "C:\Users\marcos\Desktop\Practicas python\pracica
7, in <module>
    print("Has seleccionado la suma: " + resultado)
TypeError: can only concatenate str (not "int") to str

Si yo cambio el int por str envés de hacer 2+2 = 4 hace 2+2 = 22, y no se como solucionarlo. Si me podrían ayudar estaría agradecido. Saludos


RE: Hola necesito ayuda - Francisco - 22-06-2020

Hola Marcos, bienvenido.

No hace falta que conviertas los números a una cadena, solo el resultado:

  1. if int(q) == 1:
  2. resultado = num1 + num2
  3. print("Has seleccionado la suma: " + str(resultado))
  4. elif int(q) == 2:
  5. resultado = num1 - num2
  6. print("Has seleccionado una resta: " + str(resultado))


O mejor:

  1. print("Has seleccionado la suma: ", resultado)


Esta sección es para presentaciones, voy a mover el tema a la sección general. Tenelo en cuenta para la próxima por favor.

Saludos


RE: Conversión de entero a cadena - m4rk - 22-06-2020

Hola sigue concatenándome ambos numeros. Tendré en cuenta donde publico mis consultas la próxima ves.


RE: Conversión de entero a cadena - Francisco - 23-06-2020

Basándome en el código que compartiste, funciona correctamente:

  1. num1 = int(input("ingresa un numero: "))
  2. num2 = int(input("ingresa otro numero: "))
  3. q = input("¿Que quieres hacer?: 1=sumar, 2=restar: ")
  4.  
  5. if int(q) == 1:
  6. resultado = num1 + num2
  7. print("Has seleccionado la suma: ", resultado)
  8. elif int(q) == 2:
  9. resultado = num1 - num2
  10. print("Has seleccionado una resta: ", resultado)