Estructura de control: Alternativas

Alternativa simple

Al ejecutarse la instrucción if se evalúa la condición lógica. Si la condición lógica es True se ejecutan de manera secuencial el bloque de instrucciones . Si la condición es False no se ejecuta el bloque de instrucciones. Una vez ejecutado el if (opción verdadera o falsa) se continúa la ejecución de forma secuencial por la siguiente instrucción (bloque de instrucción no identado).

Ejemplo

Programa que pida la edad y diga si es mayor de edad.

edad = int(input("Dime tu edad:"))
if edad>=18:
	print("Eres mayor de edad")
print("Programa terminado")

Alternativa doble

Al ejecutarse la instrucción if se evalúa la condición lógica. Si la condición lógica es True se ejecutan de manera secuencial el primer bloque de instrucciones. Si la condición es False se ejecuta el segundo bloque de instrucción. Una vez ejecutado el if (opción verdadera o falsa) se continúa la ejecución de forma secuencial por la siguiente instrucción (bloque de instrucción no identado).

Ejemplo

Programa que pida la edad y diga si es mayor de edad o menor de edad.

edad = int(input("Dime tu edad:"))
if edad>=18:
	print("Eres mayor de edad")
else:
    print("Eres menor de edad")
print("Programa terminado")

Alternativa múltiple

En este caso tenemos varias opciones. Vamos preguntando por cada una de las opciones y según el valor de la expresión ejecutamos un bloque o otro. Esta estructura de control nos permite programar la lógica de la instrucción Segun del pseudocódigo.

Ejemplo

Programa que pide una nota de un examen por teclado y muestra la nota como “Sobresaliente”, “Notable”, “Bien”, “Suficiente”, “Suspendido”. En pseudocódigo podemos usar la instrucción Segun:

Proceso notas
	Definir nota como entero;
	Escribir "Dime tu nota:";
	Leer nota;
	Segun nota Hacer
		1,2,3,4: Escribir "Suspenso";
		5: Escribir "Suficiente";
		6,7: Escribir "Bien";
		8: Escribir "Notable";
		9,10: Escribir "Sobresaliente";
		De Otro Modo:
			Escribir "Nota incorrecta";
	FinSegun
	Escribir "Programa terminado";
FinProceso

En python3 utilizamos la alternativa múltiple:

nota = int(input("Dime tu nota:"))
if nota >=1 and nota <= 4:
    print("Suspenso")
elif nota == 5:
    print("Suficiente")
elif nota == 6 or nota == 7:
	print("Bien")
elif nota == 8:
	print("Notable")
elif nota ==9 or nota == 10:
	print("Sobresaliente")
else:
	print("Nota incorrecta")
print("Programa terminado")