TODOPIC

Lenguajes de programación para PC => Python => Mensaje iniciado por: Daniel1952 en 17 de Noviembre de 2017, 19:37:41

Título: Envolver en un bucle un ingreso incorrecto por teclado.
Publicado por: Daniel1952 en 17 de Noviembre de 2017, 19:37:41
Hola, ¿cómo están?
Bueno el enunciado lo dice todo, dejo el programa para todo aquel que quiera aportar una solución
Danielito agradecido, aprendo más en este foro que en los manuales y vídeos. -

Código: Python
  1. # -*- coding: utf-8 -*-
  2.  
  3. import re
  4.  
  5. def validar_no_numeros():
  6.         expr = r'[0-9]'
  7.         cadena = input('\n Ingrece una cadena (no se permiten números)...: ')
  8.  
  9.         if re.findall(expr, cadena):
  10.                 print(' No se permiten números')
  11.         else:
  12.                 print(cadena)
  13.  
  14.  
  15. def main():
  16.         validar_no_numeros()
  17.  
  18. main()
Desde ya mucjas gracias.
Daniel :)
Título: Re:Envolver en un bucle un ingreso incorrecto por teclado.
Publicado por: KILLERJC en 17 de Noviembre de 2017, 21:48:04
Un loop infinito con el while True, y salimos con el break

Código: Python
  1. def validar_no_numeros():
  2.       while True:
  3.         expr = r'[0-9]'
  4.         cadena = input('\n Ingrece una cadena (no se permiten números)...: ')
  5.  
  6.         if re.findall(expr, cadena):
  7.                 print(' No se permiten números')
  8.         else:
  9.                 print(cadena)
  10.                 break
Título: Re:Envolver en un bucle un ingreso incorrecto por teclado.
Publicado por: Picuino en 18 de Noviembre de 2017, 08:35:10
Con return:

Código: Python
  1. import re
  2.  
  3. def input_abc():
  4.    while True:
  5.       expr = r'[0-9]'
  6.       cadena = input('\nIngrese una cadena sin números : ')
  7.       if re.findall(expr, cadena):
  8.          print('\tError. No se permiten números')
  9.       else:
  10.          return cadena
  11.  
  12.  
  13. print("Cadena introducida: ", input_abc())

Saludos.
Título: Re:Envolver en un bucle un ingreso incorrecto por teclado.
Publicado por: Daniel1952 en 18 de Noviembre de 2017, 10:33:10
Hola, que tengan un muy buen día.-
Muchas gracias por los ejs. aclaro que en mi programa utilice el de Picuino no por considerarlo
mejor sino porque fue el último, le agregue el borrado de pantalla.-
Debería haber preguntado esto de entrada y me olvide y es la forma que me gusta mas pero no
logro que funcione.-

Código: Python
  1. while(re.findall(expr, cadena)==True):
  2.     print("\n Error")
  3.  

Código: Python
  1. import os
  2. import re
  3.  
  4. def input_abc():
  5.         while True:
  6.                 expr = r'[0-9]'
  7.                 cadena = input('\n Ingrese una cadena sin números : ')
  8.                 if re.findall(expr, cadena):
  9.                         print('\tError. No se permiten números...')
  10.                         borrar()
  11.                 else:
  12.                         return cadena
  13.  
  14. def borrar():
  15.         input("\n Pulse una tecla para continuar...")
  16.         if os.name == "posix":
  17.                 os.system ("clear")
  18.         elif os.name == ("ce", "nt", "dos"):
  19.                 os.system ("cls")
  20.  
  21. def main():
  22.         print("\n Cadena introducida: ", input_abc())
  23.  
  24. main()
Un abrazo.
Daniel
Título: Re:Envolver en un bucle un ingreso incorrecto por teclado.
Publicado por: Daniel1952 en 19 de Noviembre de 2017, 18:46:41
Hola.
Bueno lo encontré, de esta manera funciona.-
     
Código: Python
  1. while((re.findall(expr, cadena))):

Saludos.
Daniel