Parte 3
Expresiones booleanas
Expresiones que son o True o False.
Operadores
- x == y # x es igual a y
- x != y # x no es igual a y
- x > y # x es mayor que y
- x < y # x es menor que y
- x >= y # x es mayor o igual que y
- x <= y # x es menor o igual que y
- x > y or x == y # x es mayor a y O x es igual a y
- x < y and x != 0 # x es mayor que y Y es distinto de cero
- not ( x == y )
Ejecución condicional
if x%2 == 0:
print 'x es par'
else:
print 'x es impar'
En los condicionales anidados, la primera rama que es verdadera se ejecuta, incluso si existe otra que es verdadera:
if x > y:
print 'x es mayor que y'
elseif x < y:
print 'x es menor que y'
elseif x!= y:
print 'x es distinto a y'
else:
print 'x es igual a y'
Expresión while
def countdown(n):
while n > 0:
print n
n = n - 1
print 'Cero!!!'
Recursividad
def countdown(n):
if n > 0:
print n
n = n - 1
countdown(n)
else:
print 'Cero!!!'
Break
while True:
line = raw_input('> ')
if line == 'done':
break
print line
print 'Done!'
For
fruta = 'naranja'
index = 0
while index < len(fruta):
letra = fruta[index]
print letra
index += 1
fruta = 'naranja'
for char in fruta
print char
prefijos = 'JKLMNPQ'
sufijo = 'ack'
for letra in prefijo:
print letra + sufijo
in
'na' in 'naranja'
True
'ana' in 'naranja'
False
Ejercicios
- Escribir una función que invierta el orden de las letras de un string, por ejemplo:
backwards('hola')
'aloh' - Escribir una función llamada find que dada un string dice la posición en la que se encuentra, por ejemplo:
find('hola', 'o')
1
find('hola', 'i')
-1 - Modificar find para que tome un tercer parámetro index que indica la posición a partir de la cual se busca el caracter
- Escribir una función que cuente la cantidad de veces que aparece un caracter en una palabra dada
- Probar lo siguiente:
word = 'mi palabra'
word.count('a')
word.find('a')y compararlo con las funciones de 2 y 4
- Escribir una funcion que se llame rotar que toma un string y un entero N como argumento. rotar devuelve el string original con sus letras rotadas. Cada letra se 'rota' la cantidad de veces indicadas en N en el alfabeto. Por ejemplo:
rotar('Y',1)
'Z'
rotar('Z',1)
'A'
rotar('cheer',7)
'jolly'
rotar('melon',-10)
'cubed'Ayuda: usar funciones ord, que convierte un caracter a su código numeral y chr que convierte un número en su letra.
- Ver las soluciones propuestas para invertir un diccionario (claves por valores, valores por claves) segun [1][2][3] e implementarlas.