Python Funciones

Enviado por jalemany el Jue, 03/10/2019 - 21:34

Este manual está escrito en formato teatral entre PyBOT, un robot profesor de Python y Marcos, un estudiante interesado en aprender Python. 

PyBOT: El siguiente código nos dice cuántos divisores tiene un número.

n = 100
divisores=0
for i in range(1,n+1):
  if (n%i==0):
    divisores=divisores+1
print (divisores)

¿Cómo se puede cambiar para mirar si un numero es primo?

Marcos: Bueno, un número es primo si tiene dos divisores, así que podríamos añadir una condición despues de contar los divisores.

PyBOT: ¡Muy bien! Ahora, si queremos usar esta parte de código varias veces tenemos la opción de ponerlo como una función. Una función nos permite estructurar el código y aprovechar fragmentos de código en distintos puntos.

def primo(n):
  divisores=0
  for i in range(1,n+1):
    if (n%i==0):
      divisores=divisores+1
  if (divisores==2):
    return true
  else:
    return false

Ahora podemos llamar a la función primo desde cualquier parte del código. En la cabecera de la función podemos ver def comando que indica que estamos delante de una función, primo, que es el nombre de la función, y (n) que son los parámetros de la función. Los parámetros nos permiten ejecutar esa parte del código con valores distintos. Por ejemplo primo(7) devolverá cierto, y en cambio primo(10) devolvería falso. La instrucción return es exclusiva para funciones, y nos permite devolver un valor dependiendo del valor de los parámetros. ¿Cuantos primos hay entre 1 y 100?

Marcos: ¡OK! ¡Acepto el reto! Para cada número del 1 al 100 puedo mirar si el número es primo o no. Si lo es, lo puedo sumar a una variable, si no lo es, pues paso al siguiente número. En código:

def primo(n):
  divisores=0
  for i in range(1,n+1):
    if (n%i==0):
      divisores=divisores+1
  if (divisores==2):
    return true
  else:
    return false

numeros=0
for i in range (2,101):
  if primo(i):
    numeros=numeros+1
print (numeros)

 

Printer Friendly, PDF & Email

Comentarios

Añadir nuevo comentario

Texto sin formato

  • No se permiten etiquetas HTML.
  • Saltos automáticos de líneas y de párrafos.
  • Las direcciones de correos electrónicos y páginas web se convierten en enlaces automáticamente.