elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Python (Moderador: Danielㅤ)
| | |-+  [Python] ¿Por qué esto no funciona?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] ¿Por qué esto no funciona?  (Leído 4,923 veces)
randomcito

Desconectado Desconectado

Mensajes: 32



Ver Perfil WWW
[Python] ¿Por qué esto no funciona?
« en: 2 Mayo 2011, 15:05 pm »

Hola a todos

Estoy iniciándome en Python y estoy creando un código que redirige a pdfs online de las soluciones de mi libro de texto del instituto, según los datos del tema, apartado etc (xD), pero bueno, eso es lo de menos.

El caso es que, los temas se dividen en bloques. Esto es relevante porque forma parte del enlace que redirige a los pdfs.

Para que no fuera tan tedioso tener que buscar el bloque, intenté hacer que se definiera el bloque según el tema, echadle un vistazo al trozo de código que he puesto aquí.

Código
  1. #uni => Unidad, tema
  2. #blo => Bloque
  3. uni = raw_input("Numero de la unidad: ")#unidad
  4. print uni
  5. #-----------------------------------
  6. # Asignacion de bloque (segun tema)
  7. #-----------------------------------
  8.    if uni == "1" or "2" or "3":
  9.     blo == "1"
  10.    if uni == "4" or "5" or "6" or "7":
  11.     blo = "2"
  12.    if uni == "8" or "9" or "10":
  13.     blo = "3"
  14.    if uni == "11" or "12" or "13":
  15.     blo = "4"
  16.    if uni == "14" or "15" or "16":
  17.     blo = "5"
  18.    print "El bloque es: " + blo

Le des el valor que le des a la variable uni en el raw_input el bloque siempre queda igual a "5", en vez de cambiar en función de la unidad.
No sé por qué no funciona esta parte, si alguien me pudiera ayudar se lo agradecería.

Saludos!

PD: Por ciertas razones, para definir a uni tiene que ser un raw_input, no puede ser un input.


En línea

lnvisible


Desconectado Desconectado

Mensajes: 527



Ver Perfil
Re: [Python] ¿Por qué esto no funciona?
« Respuesta #1 en: 2 Mayo 2011, 19:53 pm »

Mira lo que has escrito.

Código
  1. #uni => Unidad, tema
  2. #blo => Bloque
  3. uni = raw_input("Numero de la unidad: ")#unidad
  4. print uni
  5. #-----------------------------------
  6. # Asignacion de bloque (segun tema)
  7. #-----------------------------------
  8.    if uni == ("1" or "2" or "3"):
  9.     blo == "1"
  10.    if uni == ("4" or "5" or "6" or "7"):
  11.     blo = "2"
  12.    if uni == ("8" or "9" or "10"):
  13.     blo = "3"
  14.    if uni == ("11" or "12" or "13"):
  15.     blo = "4"
  16.    if uni == ("14" or "15" or "16"):
  17.     blo = "5"
  18.    print "El bloque es: " + blo


En línea

randomcito

Desconectado Desconectado

Mensajes: 32



Ver Perfil WWW
Re: [Python] ¿Por qué esto no funciona?
« Respuesta #2 en: 2 Mayo 2011, 20:14 pm »

Muchas gracias, vaya error más tonto :xD
Como dije me estoy iniciando en python.

Saludos
« Última modificación: 8 Mayo 2011, 13:59 pm por !#p1ch1_ '' » En línea

Kase


Desconectado Desconectado

Mensajes: 1.288


programa bonito ¬¬


Ver Perfil WWW
Re: [Python] ¿Por qué esto no funciona?
« Respuesta #3 en: 3 Mayo 2011, 02:50 am »

que curioso...

esta evaluacion da true
'a' == ('a' or 'b')

y lo obio seria pensar que

1==(1 or 2)

sin embargo esta segunda no funciona o___0
En línea

randomcito

Desconectado Desconectado

Mensajes: 32



Ver Perfil WWW
Re: [Python] ¿Por qué esto no funciona?
« Respuesta #4 en: 8 Mayo 2011, 13:58 pm »

Una pregunta...

Código
  1. 'a' == ('a' or 'b'):
  2. True

Pero...

Código
  1. 'a' == ('b' or 'a'):
  2. False

¿Esto por qué es así?
Saludos
En línea

Slava_TZD
Wiki

Desconectado Desconectado

Mensajes: 1.466

♪ [8675309] ♪


Ver Perfil WWW
Re: [Python] ¿Por qué esto no funciona?
« Respuesta #5 en: 8 Mayo 2011, 22:13 pm »

Una pregunta...

Código
  1. 'a' == ('a' or 'b'):
  2. True

Pero...

Código
  1. 'a' == ('b' or 'a'):
  2. False

¿Esto por qué es así?
Saludos

Seguramente será una burrada...xD ¿pero tendrá algo que ver con que se comparen de izquierda a derecha como en C?
En línea


The fact is, even if you were to stop bombing us, imprisoning us, torturing us, vilifying us, and usurping our lands, we would continue to hate you because our primary reason for hating you will not cease to exist until you embrace Islam.
xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: [Python] ¿Por qué esto no funciona?
« Respuesta #6 en: 8 Mayo 2011, 23:01 pm »

Citar
x or y  -   if x is false, then y, else x

He ahí la explicación ;D

Más info
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] PYthong en winXP no me funciona
Python
dec0 1 3,608 Último mensaje 3 Enero 2011, 18:23 pm
por Yeison.Eng
¿Como hacer esto en python?
Scripting
N4C 3 4,189 Último mensaje 29 Marzo 2011, 23:13 pm
por Novlucker
No me funciona este programa de python
Scripting
VanX 4 4,091 Último mensaje 9 Agosto 2011, 13:37 pm
por VanX
Por qué OpenDialog.py no me funciona en el tutorial de quickly (python)
Programación General
adgellida 2 1,967 Último mensaje 28 Agosto 2012, 01:03 am
por adgellida
[DUDA]Funciona Pygame en Python 3.4.1
Scripting
Proxmond 3 3,430 Último mensaje 11 Julio 2014, 18:44 pm
por Yidu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines