In [2]:
# punto A
x1 = 0
y1 = 0
# punto B
x2 = 0
y2 = 1
# punto C
x3 = 3
y3 = 1
# punto D
x4 = 3
y4 = 0
#calculamos las distancias entre ellos
from math import sqrt
dAB = sqrt((x2 - x1)**2 + (y2 - y1)**2)
dAC = sqrt((x3 - x1)**2 + (y3 - y1)**2)
dAD = sqrt((x4 - x1)**2 + (y4 - y1)**2)
dBC = sqrt((x3 - x2)**2 + (y3 - y2)**2)
dBD = sqrt((x4 - x2)**2 + (y4 - y2)**2)
dCD = sqrt((x4 - x3)**2 + (y4 - y3)**2)
rectangulo = (dAB == dCD) and (dAC == dBD) and (dAD == dBC)
rectangulo
Out[2]:
Podemos simplificar creando la función distancia
In [4]:
def distancia(x1, y1, x2, y2):
return sqrt((x2 - x1)**2 + (y2 - y1)**2)
In [5]:
distancia(0,0,3,0)
Out[5]:
In [6]:
dAB = distancia(x1, y1, x2, y2)
dAC = distancia(x1, y1, x3, y3)
dAD = distancia(x1, y1, x4, y4)
dBC = distancia(x2, y2, x3, y3)
dBD = distancia(x2, y2, x4, y4)
dCD = distancia(x3, y3, x4, y4)
rectangulo = (dAB == dCD) and (dAC == dBD) and (dAD == dBC)
rectangulo
Out[6]:
In [7]:
def cuadrado(x):
return x**2
Observa el sangrado. La instrucción return siempre indica el valor que devuelve la función
In [8]:
a = 7
cuadrado(a)
Out[8]:
In [9]:
cuadrado(5)
Out[9]:
In [10]:
x = 10
cuadrado(x)
Out[10]:
Cuidado:
In [13]:
# Las funciones se puede llamar entre si
from math import *
def xsin(x):
return x*sin(x)
In [14]:
xsin(3)
Out[14]:
In [15]:
xsin(pi)
Out[15]:
En el cuerpo de la función puede haber diversas instrucciones.
In [16]:
def cuadrado(x):
resultado = x**2
return resultado
In [17]:
cuadrado(20)
Out[17]:
In [18]:
def longitud_circunferencia(radio):
return 2*radio*pi
def area_circunferencia(radio):
return pi * radio * radio
In [19]:
longitud_circunferencia(10)
Out[19]:
In [20]:
area_circunferencia(10)
Out[20]:
Las funciones no sólo sirven para tipos numéricos
In [21]:
def mayor_de_edad(n):
return (n >= 18)
In [22]:
mayor_de_edad(15)
Out[22]:
In [23]:
mayor_de_edad(20)
Out[23]:
In [26]:
def producto(a, b):
return a*b
def area_rectangulo(base, altura):
resultado = producto(base,altura)
return resultado
def area_triangulo(base, altura):
return producto(base, altura)/2.0
In [27]:
area_rectangulo(3,5)
Out[27]:
In [28]:
area_triangulo(3,5)
Out[28]:
Para trabajar con funciones más complicadas, el intérprete de Python puede ser incómodo. Podemos escribir nuestras funciones en ficheros .py y luego llamarlas.
--
In [ ]: