Python - No tengo claro como debo plantear mi programa.

 
Vista:
sin imagen de perfil
Val: 19
Ha disminuido su posición en 6 puestos en Python (en relación al último mes)
Gráfica de Python

No tengo claro como debo plantear mi programa.

Publicado por gjffkdjw (9 intervenciones) el 22/01/2021 10:11:18
Buenas, estoy intentando hacer un código en el que el usuario introduzca dos números. El programa comprueba que las dos variables introducidas por el usuario sea de clase 'int'. Si cualquiera de las dos variables no es de clase 'int' quiero que aparezca 'ERROR' en pantalla. Si las dos variables son de clase 'int' quiero que el programa compare si el numero 1 es menor igual al numero dos y que lo muestre, y que compare si el numero 1 es mayor al numero 2 y que lo muestre. Adjunto el código que he escrito. Me llega a pedir los dos números pero siempre me muestra el mensaje de 'ERROR' como si la clase no fuese 'int'. Gracias y espero haberme explicado

Imagino que el problema tiene que estar en como planteo los 'if' pero no lo tengo claro.

1
2
3
4
5
6
7
8
9
10
numero_uno=input("Introduce un numero: ")
numero_dos=input("Introduce un numero: ")
 
if type(numero_uno) and type(numero_dos) is int:
    if numero_uno <= numero_dos:
        print("El número 1 es menor o igual que el número 2")
    if numero_uno > numero_dos:
        print("El número 2 es mayor que el número 2")
else:
    print("ERROR")
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de algoritmo
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

No tengo claro como debo plantear mi programa.

Publicado por algoritmo (245 intervenciones) el 22/01/2021 12:43:51
Hola

prueba cambiando la fila 4 por:

if isinstance(1, int)d and isinstance(2, int):

Un saludo :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 121
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

No tengo claro como debo plantear mi programa.

Publicado por Antoni Masana (67 intervenciones) el 22/01/2021 14:30:10
Tienes varios errores encadenados.
En primer lugar los input te devuelve un String y no un Int

1
2
numero_uno=int(input("Introduce un numero: "))
numero_dos=int(input("Introduce un numero: "))

Ahoro si devuelven un int

En segundo lugar el if no hace lo que crees o quieres que haga y es comparar los tipos con Int, solo compara el segundo y el primero da error porque la funcion type() no devuelve un valor booleano.

Lo correcto es:
1
if type(numero_uno) is int and type(numero_dos) is int:

Pero si no cambias la linea del input NUNCA seran tipo int y si pone lo que indico más arriba la pregunta esta de más porque SIEMPRE seran del tipo int.

Con lo cual el mejor resultado (solución simple) es esta. Si se introduce un texto da error.

1
2
3
4
5
6
7
8
9
numero_uno=input("Introduce un numero: ")
numero_dos=input("Introduce un numero: ")
 
if numero_uno <= numero_dos:
    print("El número 1 es menor o igual que el número 2")
elif numero_uno > numero_dos:
    print("El número 2 es mayor que el número 2")
else:
    print("Son iguales")

Los acentos de la u de número pueden darte error.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 19
Ha disminuido su posición en 6 puestos en Python (en relación al último mes)
Gráfica de Python

No tengo claro como debo plantear mi programa.

Publicado por gjffkdjw (9 intervenciones) el 22/01/2021 20:41:23
Pensé en usar 'int input' pero no estaba seguro si había alguna otra forma para que fuese el propio programa comprobase si el dato introducido era 'int' y de ser así que continuase con la siguiente línea . Entiendo! Como dices solo comparaba el segundo valor.
Gracias por tu tiempo y por tu ayuda, me ha quedado claro!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 19
Ha disminuido su posición en 6 puestos en Python (en relación al último mes)
Gráfica de Python

No tengo claro como debo plantear mi programa.

Publicado por gjffkdjw (9 intervenciones) el 22/01/2021 20:38:16
Gracias por la idea de usar isinstance!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar