next up previous contents
Siguiente: Depuración Arriba: Tutor de Python para No-programadores Anterior: Cuente hasta 10   Contenido

Subsecciones

Decisiones

Enunciado If

Como siempre, pienso que debo comenzar cada capítulo con un ejercicio de calentamiento así que aquí tiene un programa corto para calcular el valor absoluto de un número:
n = input("Numero? ")
if n < 0:
print "El valor absoluto de",n,"es",-n
else:
print "El valor absoluto de",n,"es",n

A continuación, vea el resultado en pantalla de las dos veces que ejecuté el programa:

Numero? -34
El valor absoluto de -34 es 34

Numero? 1
El valor absoluto de 1 es 1

¿Qué hace la computadora cuando ve este código?  Primero, solicita un número al usuario con la declaraciónn = input("Numero? ").  Luego lee el renglón if n < 0: Si n es menor a cero, Python ejecuta el renglónprint "El valor absoluto de ",n,"es",-n.  De otro modo, Python ejecuta el renglón print "El valor absoluto de",n,"es",n.

De un modo más formal, Python evalúa si la expresión n < 0 es verdadera o falsa.  Una declaración if es seguida por un bloque de enunciados que son ejecutados cuando la expresión es verdadera. Opcionalmente, después del if puede haber un enunciado else . El enunciadoelse es ejecutado si la expresión evaluada en el ifresulta falsa.

Una expresión puede ser evaluada de varios modos. He aquí una tabla de todos ellos:

operador función
< menor que
<= menor que o igual a
> mayor que
>= mayor que o igual a
== igual a
!= no es igual a
<> otro modo para "no es igual a"

Otro aspecto del comando if es la declaración elif.  Es una combinación de "else if"  y significa "si el if original es falso y la expresión de elif es verdadera haz esa parte".  Un ejemplo:

a = 0
while a < 10:
a = a + 1
if a > 5:
print a," > ",5
elif a <= 7:
print a," <= ",7
else:
print "Ninguna expresion fue verdadera"


y la ejecución del programa

1  <=  7
2 <= 7
3 <= 7
4 <= 7
5 <= 7
6 > 5
7 > 5
8 > 5
9 > 5
10 > 5

Note cómo elif a <= 7 solamente es evaluado cuando la declaración if resulta falsa. elif permite varias evaluaciones en una sola declaración if.

Ejemplos

Alto_bajo.py

# Juega adivinar el numero por alto o bajo 
# (originalmente escrito por Josh Cogliati, mejorado por Quique)

# Esto deberia ser semi-aleatorio, como los dos ultimos digitos de
# la hora o algo asi, pero eso tendra que esperar
# a un capitulo posterior. (Puntos extra, modifique el programa
# para hacerlo aleatorio despues del capitulo "Modulos")
numero = 78
intento = 0

while intento != numero :
intento = input ("Trata de adivinar mi numero: ")

if intento > numero :
print "Muy alto"

elif intento < numero :
print "Muy bajo"

print "Exacto"

Muestra:

Trata de adivinar mi numero:100
Muy alto
Trata de adivinar mi numero:50
Muy bajo
Trata de adivinar mi numero:75
Muy bajo
Trata de adivinar mi numero:87
Muy alto
Trata de adivinar mi numero:81
Muy alto
Trata de adivinar mi numero:78
Exacto

par.py

#Pide un numero.
#Imprime si es par o non

numero = input("Dime un numero: ")
if numero % 2 == 0:
print numero,"es par."
elif numero % 2 == 1:
print number,"es non."
else:
print number,"es muy raro."

Muestra:

Dime un numero: 3
3 es non.

Dime un numero: 2
2 es par.

Dime un numero: 3.14159
3.14159 es muy raro.

Ejercicios

Modifique el programa de clave de acceso para  llevar nota del número de intentos equivocados. Si es más de tres veces, imprima ``Debió ser muy complicado.''

Escriba un programa que pida dos números.  Si la suma de los números es mayor que 100, imprima print ``Que numerotes!''.

Escriba un programa que pida el nombre del usuario, si escriben su nombre (el de usted, autor del programa) diga "Es un nombre muy bonito", si escriben "John Cleese" o "Michael Palin", dígales lo que piensa de ellos ;), de otro modo diga "Tienes un nombre agradable".


next up previous contents
Siguiente: Depuración Arriba: Tutor de Python para No-programadores Anterior: Cuente hasta 10   Contenido
Josh Cogliati jjc@honors.montana.edu
Traducido por Victor M. Rosas-Garcia quimico69@yahoo.com