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í.
#uni => Unidad, tema
#blo => Bloque
uni = raw_input("Numero de la unidad: ")#unidad
print uni
#-----------------------------------
# Asignacion de bloque (segun tema)
#-----------------------------------
if uni == "1" or "2" or "3":
blo == "1"
if uni == "4" or "5" or "6" or "7":
blo = "2"
if uni == "8" or "9" or "10":
blo = "3"
if uni == "11" or "12" or "13":
blo = "4"
if uni == "14" or "15" or "16":
blo = "5"
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.
Mira lo que has escrito.
Cita de: !#p1ch1_ '' en 2 Mayo 2011, 15:05 PM
#uni => Unidad, tema
#blo => Bloque
uni = raw_input("Numero de la unidad: ")#unidad
print uni
#-----------------------------------
# Asignacion de bloque (segun tema)
#-----------------------------------
if uni == ("1" or "2" or "3"):
blo == "1"
if uni == ("4" or "5" or "6" or "7"):
blo = "2"
if uni == ("8" or "9" or "10"):
blo = "3"
if uni == ("11" or "12" or "13"):
blo = "4"
if uni == ("14" or "15" or "16"):
blo = "5"
print "El bloque es: " + blo
Muchas gracias, vaya error más tonto :xD
Como dije me estoy iniciando en python.
Saludos
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
Una pregunta...
'a' == ('a' or 'b'):
True
Pero...
'a' == ('b' or 'a'):
False
¿Esto por qué es así?
Saludos
Cita de: !#p1ch1 en 8 Mayo 2011, 13:58 PM
Una pregunta...
'a' == ('a' or 'b'):
True
Pero...
'a' == ('b' or 'a'):
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?
Citarx or y - if x is false, then y, else x
He ahí la explicación ;D
Más info (http://docs.python.org/release/2.5.2/lib/boolean.html)