Foros del Web » Programando para Internet » Python »

ayuda con parentesis

Estas en el tema de ayuda con parentesis en el foro de Python en Foros del Web. Diseña un programa que lea un caracter de teclado y muestre por pantalla el mensaje ((Es parentesis)) solo si el caracter leido es un parentesis ...
  #1 (permalink)  
Antiguo 05/11/2010, 22:01
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años, 1 mes
Puntos: 0
ayuda con parentesis

Diseña un programa que lea un caracter de teclado y muestre por pantalla el mensaje ((Es parentesis)) solo si el caracter leido es un parentesis abierto o cerrado

paren = raw_input('Ingrese un caracter: ')

print paren
if (paren == "("):
print "Es parentesis"

Esto es lo que tengo pero no me funciona, hasta con ascii he probado :(
  #2 (permalink)  
Antiguo 05/11/2010, 22:21
Avatar de lopo664  
Fecha de Ingreso: noviembre-2010
Ubicación: Delante de la pantalla del ordenador
Mensajes: 10
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: ayuda con parentesis

Código Python:
Ver original
  1. import sys #importamos sys para el unicode
  2. p = raw_input("Introduce un caracter: ")
  3. if( p == u'\u0028' ): #0028 es el abrir parentesis "("
  4.     print "Es un parentesis"

La fuente: http://crysol.org/node/454
  #3 (permalink)  
Antiguo 05/11/2010, 22:31
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ayuda con parentesis

Hola, gracias por tu respuesta, no me funciona, ademas de que no es necesario usar UNICODE, mientras menos se use eso mejor, ese caracter esta en ASCII, pero no logro como hacerlo, ya que me lee el shift primero, en vez del parentesis :S
  #4 (permalink)  
Antiguo 05/11/2010, 23:21
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: ayuda con parentesis

Que no te funciona? A mi me funciona bastante bien. Solo te falta poner que también acepte el paréntesis cerrado ")" para poner que acepte varios valores puedes basarte en este ejemplo:
Código Python:
Ver original
  1. x = 10
  2. if x == 10 or x == 2 or == 3:
  3.     print "x es 10 o 2 o 3"
  4. else:
  5.     print "x no es 10 ni es 2 ni es 3"
Ahora como le harías para saber si es ")" o "(" ?
  #5 (permalink)  
Antiguo 06/11/2010, 10:43
 
Fecha de Ingreso: octubre-2010
Mensajes: 25
Antigüedad: 13 años, 5 meses
Puntos: 2
Respuesta: ayuda con parentesis

Eso es demasiado sencillo:

Código Python:
Ver original
  1. #*.*encoding=utf-8*.*
  2. entrada = raw_input("Escribe un caracter alfanumérico -> ")
  3. if entrada == "(" or entrada == ")":
  4.     print("Es un paréntesis")
  5. else:
  6.     print("No has escrito ningún paréntesis")

Si quieres decir cuando es abierto o cerrado:
Código Python:
Ver original
  1. #*.*encoding=utf-8*.*
  2. entrada = raw_input("Escribe un caracter alfanumérico -> ")
  3. if entrada == "(":
  4.     print("Esto es un paréntesis abierto")
  5. elif entrada == ")":
  6.     print("Esto es un paréntesis cerrado")
  7. else:
  8.     print("No has escrito ningún parentesis")
  #6 (permalink)  
Antiguo 06/11/2010, 12:49
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ayuda con parentesis

Gracias a todos por sus respuestas, aparentemente el compilador tiene problemas o algo pasa, ya que cuando inserto el parentesis me dice que no he introducido ninguno, creo que el lee el shift primero o algo, tambien seria otra posibilidad, ahhh python que desgraciado eres :p
  #7 (permalink)  
Antiguo 06/11/2010, 13:10
 
Fecha de Ingreso: octubre-2010
Mensajes: 25
Antigüedad: 13 años, 5 meses
Puntos: 2
Busqueda Respuesta: ayuda con parentesis

Cita:
Iniciado por Torvalds Ver Mensaje
Gracias a todos por sus respuestas, aparentemente el compilador tiene problemas o algo pasa, ya que cuando inserto el parentesis me dice que no he introducido ninguno, creo que el lee el shift primero o algo, tambien seria otra posibilidad, ahhh python que desgraciado eres :p
No creo que sea el compilador, porque es el mismo en todos lados, si el código que escribí funciona en mi PC también tiene que funcionar en China.

REVISA BIEN...

A lo mejor estás usando Python 3.1.2, si es así no te va a funcionar; tienes que usar la serie 2.x.x

En dado caso de que sea Python 3, aquí tienes el código:

Código Python:
Ver original
  1. #*.*encoding=utf-8*.*
  2. entrada = str(input("Escribe un caracter alfanumérico -> "))
  3. if entrada == "(":
  4.     print("Esto es un paréntesis abierto")
  5. elif entrada == ")":
  6.     print("Esto es un paréntesis cerrado")
  7. else:
  8.     print("No has escrito ningún parentesis")

En Python 3 raw_input no existe, sólo se usa input, usé str para indicar que todo lo que recibe entrada es una cadena de texto. Y print tiene que tener paréntesis --> print("AQUI")

Última edición por Gobix; 06/11/2010 a las 13:26
  #8 (permalink)  
Antiguo 06/11/2010, 13:34
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ayuda con parentesis

Gobix, hola amigo, estoy usando la 2x, claro, la 3 no me convence todavia, print paso a ser una funcion, y tiene cosas diferentes, eso lo se, pero de verdad, estoy utilizando eclipse con pydev, y todos los otros programas me corren menos este, incluso hice uno con tkinter, y todo excelente, pero este no me funciona... no se que sera, voy a probar en pythonG a ver.... gracias amigo por tus respuestas
  #9 (permalink)  
Antiguo 06/11/2010, 14:53
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: ayuda con parentesis

Postea tu código y que error te tira. De esa manera podre saber que estas haciendo mal.
  #10 (permalink)  
Antiguo 06/11/2010, 18:32
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ayuda con parentesis

El codigo esta justo arriba en el mensaje
  #11 (permalink)  
Antiguo 06/11/2010, 19:30
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: ayuda con parentesis

El error postea el error!!!!

Es mas postea todo lo que te sale en la consola.
  #12 (permalink)  
Antiguo 06/11/2010, 20:30
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ayuda con parentesis

Escribe un caracter alfanumérico -> (
No has escrito ningún parentesis
  #13 (permalink)  
Antiguo 07/11/2010, 13:50
 
Fecha de Ingreso: octubre-2010
Mensajes: 25
Antigüedad: 13 años, 5 meses
Puntos: 2
Desacuerdo Respuesta: ayuda con parentesis

Cita:
Iniciado por Torvalds Ver Mensaje
Escribe un caracter alfanumérico -> (
No has escrito ningún parentesis


Eso no es un error, es lo que le indicaste al programa que dijera cuando no escribes un parentesis.
  #14 (permalink)  
Antiguo 07/11/2010, 15:47
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: ayuda con parentesis

A mi me funciona bien.

Código Python:
Ver original
  1. caracter = raw_input("Dame un caracter: ")
  2. if caracter == ")":
  3.     print "Es un parentesis cerrado"
  4. elif caracter == "(":
  5.     print "Es un parentesis abierto"
  6. else:
  7.     print "No es un parentesis"
  #15 (permalink)  
Antiguo 08/11/2010, 09:41
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ayuda con parentesis

Razpeitia ese mismo no me funciona :S, lo hice en C y si lo hizo, Gobix no seas idiota, lo que escribi lo tiro la consola, asi que no veo la risa, introduci un parentesis, y de todos modos dice que no...
  #16 (permalink)  
Antiguo 08/11/2010, 10:14
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: ayuda con parentesis

Prueba este y dime si funciona y que arroja.
Código Python:
Ver original
  1. c = raw_input("Dame un caracter: ")
  2. if "(" in c or ")" in c:
  3.     print "Parentesis"
  4. else:
  5.     print "No parentesis"
  6. print repr(c)

Yo también tengo pydev y me funciona de maravilla. Recuerda activar la perspectiva PyDev.

Edito: @Torvalds Solo como advertencia, no insultes a otros usuarios.
  #17 (permalink)  
Antiguo 08/11/2010, 10:50
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ayuda con parentesis

Ok, pero no solo para mi la advertencia por favor, cuando se rien de ti es lo mismo, lo que pasa es que soy mas directo, lo pruebo y te digo
  #18 (permalink)  
Antiguo 08/11/2010, 10:55
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ayuda con parentesis

Dame un caracter: (
Parentesis
'(\r'
ahora si, no se por que con el \r, pero ya funciona, muchas gracias amigo
  #19 (permalink)  
Antiguo 08/11/2010, 13:44
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: ayuda con parentesis

Aquí esta por que no funciona bien tu programa:

Cita:
Iniciado por PyDev FAQ's
Why raw_input() / input() does not work correctly in pydev?

The eclipse console is not an exact copy of a shell... one of the changes is that when you press <ENTER> in a shell, it may give you a \r, \n or \r\n as an end-line char, depending on your platform. Python does not expect this -- from the docs it says that it will remove the last \n (checked in version 2.4), but, in some platforms that will leave a \r there. This means that the raw_input() should usually be used as raw_input().replace('\r', ''), and input() should be changed for: eval(raw_input().replace('\r', '')).
Edito: Añado traducción.

Cita:
Iniciado por PyDev FAQ's - es
¿Por que raw_input() / input() no funciona correctamente en pydev?

La consola de eclipse no es una copia exacta de la shell... uno de los cambios es que cuando tu presionas <ENTER> en una shell, podria darte un \r, \n o \r\n como carácter de fin de linea, dependiendo de tu plataforma.Pero python no espera esto -- la documentación dice que sera removido el ultimo \n (verificado en la version 2.4), pero, en algunas plataformas dejara el \r. Esto significa que raw_input() debe usualmente ser usado como raw_input().replace('\r', '') e input() debe ser cambiado por: eval(raw_input().replace('\r', '')).

Última edición por razpeitia; 09/11/2010 a las 15:01
  #20 (permalink)  
Antiguo 09/11/2010, 09:27
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: ayuda con parentesis

Muchas gracias amigo!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:44.