[Código] Entero / No Entero [Ejercicio - Python]

  • 3 Respuestas
  • 3754 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado LucaSthefano

  • *
  • Underc0der
  • Mensajes: 399
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

[Código] Entero / No Entero [Ejercicio - Python]

  • en: Mayo 29, 2011, 01:24:09 am
Código: You are not allowed to view links. Register or Login
175 > Diseña un programa que indique si una cadena leída de teclado esta bien formada como
numero entero. El programa escribirá «Es entero» en caso afirmativo y «No es entero» en
caso contrario.
Por ejemplo, para ’12’ mostrara «Es entero», pero para ’1 2’ o ’a’ mostrara «No es
entero».

Fue muy simple resolver esta actividad. Simplemente cree una función, y dentro de esta función, use un condicional que comprara si el numero es entero. Si es entero, devuelve «Es entero» y si no lo es, devuelve «No es entero». Pero tenia otro problema, y era, por ejemplo, si le daba a la cadena un valor como "1 3". Al haber un espacio, saltaba error, por lo tanto, eso no me servia. Pero también, al introducir una letra, pasaba lo mismo.

Eso también fue fácil de solucionar, simplemente se le pone un manejo de errores usando TRY & EXCEPT. Si surge un error con el valor de la variable, este devolverá que no es entero, ya que si lo fuese, no saldría error.

Código: Python
  1. def Funcion(String):
  2.     if (String == int(String)):
  3.         return 'Es entero'
  4.     else:
  5.         return 'No es entero'
  6.  
  7. while True:
  8.     try:
  9.         String = input('Ingrese una cadena: ')
  10.         print '%s' % Funcion(String)
  11.     except:
  12.         print 'No es entero'

Desconectado MKD1R

  • *
  • Underc0der
  • Mensajes: 8
  • Actividad:
    0%
  • Country: 00
  • Reputación 0
    • Ver Perfil
    • Email
Excelente amigo, sique asi. La mejor forma de aprender es escribiendo y leyendo codigo.
 :D

Desconectado darkucla

  • *
  • Underc0der
  • Mensajes: 9
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
Muy bien, quisiera recomendarte el uso de .isdigt()  en un string te da True si son solo números
Claro que si deseas introducir "12.34".isdigit() por ejemplo, será False.. pero para eso podemos usar "12.34".count(".")  que retornará 1 y sabremos que tiene decimal

Código: Python
  1. strNumero = input("Numero: ")
  2. if strNumero.count(".") == 1:  # Busca que tenga un punto
  3.    if strNumero.replace(".", "").isdigit():  # quitamos el punto y preguntamos si son solo numeros
  4.       fltNumero = float(strNumero)
  5.       print(fltNumero, "no es entero, tiene decimal")
  6.    else:
  7.       print("no es entero")  
  8. elif strNumero.isdigit():      # Si la cadena tiene solo números...
  9.    intNumero = int(strNumero)
  10.    print(intNumero, "es entero ", end="")
  11.    if intNumero % 2 == 0:
  12.       print("par")
  13.    else:
  14.       print("impar")
  15. else:
  16.    print("no es entero")
  17.  

Hay algo que no domino aun que son las regex... expresiones regulares... las cuales disminuyen el código.. saludos
« Última modificación: Enero 18, 2020, 02:07:37 am por darkucla »

Desconectado darkucla

  • *
  • Underc0der
  • Mensajes: 9
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
que loco!.. revivieron un post de hace 9 años... y yo creyéndolo reciente :/

 

Python phpmyadmin "BruteForce"

Iniciado por linkgl

Respuestas: 2
Vistas: 5088
Último mensaje Agosto 19, 2011, 12:14:37 pm
por linkgl
Python keylogger - by "bLiNdFiR3"

Iniciado por d33k40

Respuestas: 0
Vistas: 4418
Último mensaje Abril 07, 2010, 03:30:22 am
por d33k40
Python Trojan - By "bLiNdFiR3"

Iniciado por d33k40

Respuestas: 1
Vistas: 4562
Último mensaje Abril 03, 2010, 11:01:59 pm
por Dharok
Discord Botnet [LUCIFER] | Una simple botnet hecha en Python

Iniciado por k1llu4s3x

Respuestas: 1
Vistas: 2130
Último mensaje Octubre 09, 2019, 03:46:01 pm
por dcaraballo
[VIDEOTUTORIAL] Aprende a crear programas en Python paso a paso

Iniciado por akame_night_raid

Respuestas: 12
Vistas: 9929
Último mensaje Noviembre 24, 2016, 07:37:14 pm
por zaphiel