4. Estructuras de control

4.1. Tipos Booleanos

>>> not True
False
>>> not False
True

4.2. Operadores Booleanos

  • not
  • and
  • or

4.3. Operadores de relación

Símbolo Operación
> Mayor que
< Menor que
>= Mayor o igual
<= Menor o igual
== Igual a
!= Distinto a
>>> 45 > 34
True
>>> 23.1 >= 23
True
>>> 67.3 == 67
False
>>> 67.0 == 67
True
>>> 67.0 != 67
False

4.4. Condicionales

if

import random


random_number = random.randint(0, 10)
number = input('Adivina el número? ')

if random_number == int(number):
    print('Correcto!!!')

if random_number > int(number):
    print('mayor')

if random_number < int(number):
    print('menor')
import random


random_number = random.randint(0, 10)
number = input('Adivina el número? ')

if random_number == int(number):
    print('Correcto!!!')
elif random_number > int(number):
    print('mayor')
elif random_number < int(number):
    print('menor')
import random


def compara(random_number, number):
    if random_number == number:
        print('Correcto!!!')
        return True
    elif random_number > number:
        print('mayor')
    elif random_number < number:
        print('menor')
    return False


random_number = random.randint(0, 10)
number = input('Adivina el número? ')
end_game = compara(random_number, int(number))

if not end_game:
    number = input('Adivina el número? ')
    end_game = compara(random_number, int(number))

if not end_game:
    number = input('Adivina el número? ')
    end_game = compara(random_number, int(number))

4.5. Iteradores

Consideremos el siguiente programa:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import random


def compara(random_number, number):
    if random_number == number:
        print('Correcto!!!')
        return True
    elif random_number > number:
        print('mayor')
    elif random_number < number:
        print('menor')
    return False


random_number = random.randint(0, 10)
number = input('Adivina el número? ')
end_game = compara(random_number, int(number))

if not end_game:
    number = input('Adivina el número? ')
    end_game = compara(random_number, int(number))

if not end_game:
    number = input('Adivina el número? ')
    end_game = compara(random_number, int(number))

Que pasa si subimos el rango de 0 a 100 y queremos dar 10 oportunidades al usuario?

while <condición>:
    <bloque>
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import random


def compara(random_number, number):
    if random_number == number:
        print('Correcto!!!')
        return True
    elif random_number > number:
        print('mayor')
    elif random_number < number:
        print('menor')
    return False


random_number = random.randint(0, 20)
n = 0
while n < 3:
    number = input('Adivina el número? ')
    end_game = compara(random_number, int(number))
    n += 1

https://goo.gl/R4x6Cp

Como podemos hacer para detenernos hasta que el usuario le atine?

Resultado

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import random


def compara(random_number, number):
    if random_number == number:
        print('Correcto!!!')
        return True
    elif random_number > number:
        print('mayor')
    elif random_number < number:
        print('menor')
    return False


random_number = random.randint(0, 10)
end_game = False
while not end_game:
    number = input('Adivina el número? ')
    end_game = compara(random_number, int(number))

https://goo.gl/Ze5BcF

for <elemento> in <secuencia>:
    <bloque>
alumnos = ['Luis', 'Ana', 'Adriana', 'Miguel', 'Monica', 'Gerardo', 'Gil']
for alumno in alumnos:
    print(alumno)

https://goo.gl/atpDcp

calificacion = 0
alumnos = [
    ['Luis', 10],
    ['Ana', 9],
    ['Adriana', 8],
    ['Miguel', 7],
    ['Monica', 8],
    ['Gerardo', 10],
    ['Gil', 10],
    ['Adrian', 10]]
for alumno in alumnos:
    calificacion += alumno[1]
promedio = calificacion / len(alumnos)
print(promedio)

https://goo.gl/aLaq3j

Cuantos nombres empiezan con “A”?