Estructura condicional if anidada |
|
En ocaciones cuando hay más de dos caminos posibles es necesario implementar estructuras condicionales anidadas, es decir por la rama del verdadero o falso (else:) disponemos otras estructuras condicionales.
Debemos tener cuidado con la indentación del código para evitar errores.
Veamos un ejemplo que requiere utilizar estructuras condicionales anidadas. Generaremos tres números aleatorios y luego imprimiremos el mayor de los tres:
import random
x1=random.randint(1,100)
x2=random.randint(1,100)
x3=random.randint(1,100)
print x1
print '-'
print x2
print '-'
print x3
print '<br>'
print 'El mayor es:'
if x1>x2:
if x1>x3:
print x1
else:
print x3
else:
if x2>x3:
print x2
else:
print x3
Como podemos observar por el bloque del verdadero del primer if tenemos otra estructura condicional (debemos indentar cada estructura condicional):
if x1>x2:
if x1>x3:
print x1
else:
print x3
Generar un valor aleatorio entre 1 y 1000. Luego imprimir un mensaje indicando cuantos dígitos tiene.
Generar un valor aleatorio entre -10 y 10. Mostrar un mensaje si el valor generado es negativo, nulo o positivo.
Para generar un valor aleatorio en ese rango debemos plantear la siguiente expresión:
x=-10+random.randint(0,20)
import random
x=-10+random.randint(0,20)
print x
print '<br>'
if x<0:
print 'Numero negativo'
else:
if x==0:
print 'Numero nulo'
else:
print 'Numero positivo'
Ver solución