Programación imperativa en Python con Colaboratory

Python como calculadora


In [14]:
2 * 5 + 6 - (100 + 3)


Out[14]:
-87

In [15]:
8/2, 8/3


Out[15]:
(4.0, 2.6666666666666665)

In [16]:
7 // 2, 7 % 2


Out[16]:
(3, 1)

In [17]:
2 ** 10


Out[17]:
1024

Variables y asignaciones


In [18]:
a = 8
b = 2 * a
b


Out[18]:
16

In [19]:
a + b


Out[19]:
24

In [21]:
a = a + 1
a


Out[21]:
10

In [22]:
a, b = 2, 5
a + 2 * b


Out[22]:
12

Definición de funciones

Ejercicio 1. Definir la función suma tal que suma(x, y) es la suma de x e y. . Por ejemplo,

>>> suma(2,3)
5

In [0]:
def suma(x, y):
  return x+y

In [25]:
suma(2, 3)


Out[25]:
5

Escritura y lectura

Ejercicio 2. Definir el procedimiento suma que lea dos números y escriba su suma. Por ejemplo,

>>> suma()
Escribe el primer número: 2
Escribe el segundo número: 3
La suma es: 5

In [0]:
def suma():
  a = eval(input("Escribe el primer número: "))
  b = eval(input("Escribe el segundo número: "))
  print("La suma es:",a+b)

In [34]:
suma()


Escribe el primer número: 2
Escribe el segundo número: 3
La suma es: 5

La estructura condicional

Condicionales simples

Ejercicio 3. Definir, usando condicionales, la función maximo tal que maximo(x,y) es el máximo de x e y. Por ejemplo,

>>> maximo(2, 5)
5
>>> maximo(2, 1)
2

In [0]:
def maximo(x, y) : 
  if x > y:
    return x
  else:
    return y

In [36]:
maximo(2, 5)


Out[36]:
5

In [37]:
maximo (2, 1)


Out[37]:
2

Condicionales múltiples

Ejercicio 4. Definir la función signo tal que signo(x) es el signo de x. Por ejemplo,

>>> signo(5)
1
>>> signo(-7)
- 1
>>> signo(0)
0

In [0]:
def signo(x): 
  if x > 0: 
    return 1
  elif x < 0:
    return -1
  else:
    return 0

In [39]:
signo(5)


Out[39]:
1

In [41]:
signo(-7)


Out[41]:
-1

In [42]:
signo(0)


Out[42]:
0

Estructuras iterativas

Bucles mientras

Ejercicio 5. Definir, con un bucle while, la función sumaImpares tal que sumaImpares(n) es la suma de los n primeros números impares. Por ejemplo,

>>> sumaImpares(3)
9
>>> sumaImpares(4)
16

In [0]:
def sumaImpares(n):
  s, k = 0, 0 
  while k < n:
    s = s + 2*k + 1
    k = k + 1
  return s

In [45]:
sumaImpares(3)


Out[45]:
9

In [46]:
sumaImpares(4)


Out[46]:
16

Ejercicio 6. Definir la función mayorExponente tal que mayorExponente(a,n) es el mayor k tal que a^k divide a n. Por ejemplo,

>>> mayorExponente(2,40);
3

In [0]:
def mayorExponente(a, n):
  k = 0
  while (n % a == 0):
    n = n/a
    k = k + 1
  return k

In [48]:
mayorExponente(2, 40)


Out[48]:
3

Bucle para

Ejercicio 7. Definir, por iteración con for, la función fact tal que fact(n) es el factorial de n. Por ejemplo,

>>> fact 4
24

In [0]:
def fact(n): 
  f = 1
  for k in range(1,n+1):
    f = f * k
  return f

In [57]:
fact(4)


Out[57]:
24

Bucle para sobre listas

Ejercicio 8. Definir, por iteración, la función suma tal que suma(xs) es a suma de los números de la lista xs. Por ejemplo,

>>> suma([3,2,5])
10

In [0]:
def suma(xs): 
  r = 0
  for x in xs: 
    r = x + r
  return r

In [59]:
suma([3, 2, 5])


Out[59]:
10

Recursión

Ejercicio 9. Definir, por recursión, la función fact tal que factR(n) es el factorial de n. Por ejemplo,

>>> fact 4
24

In [0]:
def fact(n):
  if n == 0: 
    return 1
  else:     
    return n * fact(n-1)

In [62]:
fact(4)


Out[62]:
24