Keywords: easytut

Siguiente: Depuración Arriba: Tutor de Python para No-programadores Anterior: Cuente hasta 10 Contenido
Subsecciones

- Enunciado If
- Ejemplos
- Ejercicios

# 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ón`n = input("Numero? ")`. Luego lee el renglón `if n < 0:` Si `n` es menor a cero, Python ejecuta el renglón`print "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 enunciado`else` es ejecutado si la expresión evaluada en el `if`resulta 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".

Siguiente: Depuración Arriba: Tutor de Python para No-programadores Anterior: Cuente hasta 10 Contenido
Traducido por Victor M. Rosas-Garcia quimico69@yahoo.com