Autor
|
Tema: [python] Cadena de códigos (Leído 16,205 veces)
|
Meta
|
Hola gente:
Quiero poner de una pasada en el compilador netbeans una fila muy larga de código.
if a == 125 or b != 45 or c <= 345 or c == 175 or d >= 4578 or e <= 35:
Para reducir e intentado ponerlo de esta manera.
if a == 125 or b != 45 or c <= 345 or c == 175 or d >= 4578 or e <= 35:
No funciona.
if a == 125 or b != 45 or c <= 345 + or c == 175 or d >= 4578 or e <= 35:
No funciona.
if a == 125 or b != 45 or c <= 345, or c == 175 or d >= 4578 or e <= 35:
Tampoco funciona.
¿Existe algún método para que funcione?
Saludo.
|
|
« Última modificación: 4 Octubre 2010, 14:21 pm por Novlucker »
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
No que yo sepa, pero no por netbeans sino por el tema de la indentación.
Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Meta
|
Que raro que no se pueda, ya que otros lenguajes si se puede como C/C++/C#, etc... Por ahora estaba hasta haciendo esto y tampoco es así. # Introducir datos a la variable. Le = str(raw_input('Introduce cualquier carácter: ')) # if Le == 'A': if Le == 'B': if Le == 'C': if Le == 'D': if Le == 'E': if Le == 'F': if Le == 'G': if Le == 'H': if Le == 'I': if Le == 'J': if Le == 'K': if Le == 'L': if Le == 'M': if Le == 'N': if Le == 'Ñ': if Le == 'O': if Le == 'P': if Le == 'Q': if Le == 'R': if Le == 'S': if Le == 'T': if Le == 'U': if Le == 'V': if Le == 'X': if Le == 'Y': if Le == 'Z': print 'Es una MAYÚSCULA.'
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Es que en otros lenguajes no es obligatorio el indentar, sin embargo en python donde no lo hagas tienes warnings por todos lados Sobre ese código, fijate que no va a funcionar nunca porque tienes los IF anidados, por lo cual en primera instancia se pregunta si es 'A', así que si no es 'A' entonces ya termina, pero si es 'A' luego preguntará si es 'B', y si es 'A' es imposible que también sea 'B', por lo que también termina. No puedes hacer uso de otras funciones como ord por ejemplo? Sino a base de elifSaludos
|
|
« Última modificación: 4 Octubre 2010, 15:04 pm por Novlucker »
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
d(-_-)b
|
yo de python no entiendo ni pollo, pero creo que se lo que intentas hacer. te pongo un ejemplo en Delphi es algo similar, se que este subforo es de scripting, pero talvez este pequeño ejemplo te sirva de ayuda. program project; {$APPTYPE CONSOLE} uses SysUtils; var Word: Char; begin Writeln('Inserte una leta'); Readln(Word); if (Word = 'A') then Writeln('Inserto la letra en Mayusculas') else if (Word = 'a') then Writeln('Inserto la letra en Minusculas') else Writeln('Letra no valida...'); Readln; end.
saludos...
|
|
|
En línea
|
Max 400; caracteres restantes: 366
|
|
|
Meta
|
Es así como dices en Pascal. Claro que son todo el abecesario a-Z y A-Z. ¿A que ya no es tan fácil?
|
|
« Última modificación: 4 Octubre 2010, 16:06 pm por Meta »
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Yo más bien diría que fácil es, no es más que copiar el IF una vez por cada letra, el problema es que no es ni bonito ni cómodo Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Meta
|
Lo he intentado hacerlo así. # Introducir datos a la variable. Letra = str(raw_input('Introduce cualquier carácter: ')) # if Letra <= 'Z': print 'Es una MAYÚSCULA.' if Letra <= 'z': print 'Es una MINÚSCULA.'
Si pulso 'T', me suelta este resultado activándome los dos print. Introduce cualquier carácter: T Es una MAYÚSCULA. Es una MINÚSCULA.
Si pulso 't' me funciona bien. ¿Qué es lo que pasa? Introduce cualquier carácter: t Es una MINÚSCULA.
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Pasa que tienes las comparaciones por separado. El valor de 'T' es 84 y el de 't' es 116, por lo que cuando realizas la comparación con 'T', se cumple que es menor que 90 (Z) y 122 (z), por lo que imprime dos veces. Mejor así ... Letra = raw_input('Introduce cualquier caracter: ') #el raw_input de por si devuelve una cadena if Letra >= 'A' and Letra <= 'Z': print 'Es una MAYUSCULA' if Letra >= 'a' and Letra <= 'z': print 'Es una MINUSCULA'
No había puesto eso antes porque no sabía si podías solucionar el problema de esa manera (por lo mismo pregunté por ord) Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Meta
|
Gracias. Ah, otra cosa, la cadena ya la averigüé. Es así: if a == 125 or b != 45 or c <= 345\ or c == 175 or d >= 4578 or e <= 35:
Es bueno saber esto. Pues tienes razón. Lo de ord. ¿No será or? (sin la d al final.)
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
error en cadena de texto en python
Scripting
|
iPeZ
|
5
|
4,521
|
12 Enero 2011, 00:25 am
por iPeZ
|
|
|
Guardar numeros de cadena en variable[python]
Python
|
Ricardo95
|
2
|
6,988
|
13 Junio 2011, 23:22 pm
por Ricardo95
|
|
|
[Python] - Script devuelva un cadena en forma de 'sms'
Python
|
Pryato
|
7
|
6,422
|
30 Octubre 2013, 07:27 am
por 0x5d
|
|
|
[RESUELTO][PYTHON] Leccion strip() retorna una cadena
Scripting
|
LaThortilla (Effort)
|
5
|
3,110
|
27 Marzo 2015, 00:41 am
por LaThortilla (Effort)
|
|
|
[Python 3.6] Como hacer que python lea una cadena especifica de un fichero?
Python
|
n1sen
|
5
|
4,748
|
25 Septiembre 2017, 03:40 am
por engel lex
|
|