In [ ]:
"""
IPython Notebook v4.0 para python 2.7
Librerías adicionales: Ninguna.
Contenido bajo licencia CC-BY 4.0. Código bajo licencia MIT. (c) Sebastian Flores.
"""
# Configuracion para recargar módulos y librerías
%reload_ext autoreload
%autoreload 2
from IPython.core.display import HTML
HTML(open("style/iwi131.css", "r").read())
In [ ]:
def mi_funcion(x,y,z):
a = x * y * z
b = x/2 + y/4 + z/8
c = a + b
return c
a = 1.0
b = 2.0
a = mi_funcion(a, b, 3.0)
print a
Globales | Locales mi_funcion | |||||||
---|---|---|---|---|---|---|---|---|
a | b | x | y | z | a | b | c | |
In [ ]:
def mi_funcion(x,y,z):
a = x * y * z
b = x/2 + y/4 + z/8
c = a + b
return c
a = 1
b = 2
a = mi_funcion(a, b, 3)
print a
Globales | Locales mi_funcion | |||||||
---|---|---|---|---|---|---|---|---|
a | b | x | y | z | a | b | c | |
In [ ]:
def f(x, y):
x = int(x)/4 + float(x)/4 + len(y)
return x
def g(a, b):
if a==b:
return a
else:
return a*b
a = "dos"
b = 2
c = f(2.0, g(a,b))
Globales | Locales f | Locales g | ||||
---|---|---|---|---|---|---|
a | b | c | x | y | a | b |
In [ ]:
def f1(a,b):
return a-b
def f2(b,a):
c = f1(a,b)
return c
a = 3
b = 4
f2(a,b)
Globales | Locales f1 | Locales f2 | ||||
---|---|---|---|---|---|---|
a | b | a | b | b | a | c |
Una central hidroeléctica de bombeo tiene 2 modos: puede vaciar el estanque para generar electricidad, o bien, puede bombear el agua y llenar el estanque. La decisión de generar electricidad o llenar el estanque depende del precio de la electricidad y de la capacidad del estanque. Para un estanque determinado, se genera electricidad cuando el precio de electricidad es mayor a 60 USD/MWh y si el embalse se encuentra a más del 10% de su capacidad. Se consumirá electricidad y se bombeará agua al embalse cuando el precio de electricidad sea menor o igual a 60 USD/MWh y el embalse se encuentra a menos del 90% de su capacidad.
Realice un diagrama de flujo y un programa que solicite el precio actual de la electricidad y el porcentaje de llenado del estanque, e imprima en pantalla la decisión: “GENERAR”, “BOMBEAR” o “NADA”.
[...] Para un estanque determinado, se genera electricidad cuando el precio de electricidad es mayor a 60 USD/MWh y si el embalse se encuentra a más del 10% de su capacidad. Se consumirá electricidad y se bombeará agua al embalse cuando el precio de electricidad sea menor a 60 USD/MWh y el embalse se encuentra a menos del 90% de su capacidad.
Realice un diagrama de flujo que [...] imprima en pantalla la decisión: “GENERAR”, “BOMBEAR” o “NADA”.
In [ ]:
#
def accion_central(precio, capacidad):
if precio>60:
if capacidad>10:
print "generar"
else:
print "nada"
else:
if capacidad<90:
print "bombear"
else:
print "nada"
p = float(raw_input("Ingrese precio de electricidad en USD:"))
estanque = float(raw_input("Ingrese porcentaje llenado del embalse [0-100]:"))
accion_central(p,estanque)
In [ ]:
# Solución 1
def accion_central(precio, capacidad):
if precio>60:
if capacidad>10:
print "Generar"
else:
print "Nada"
else:
if capacidad>90:
print "Nada"
else:
print "Bombear"
return
p = float(raw_input("Ingrese precio de electricidad en USD: "))
estanque = float(raw_input("Ingrese porcentaje llenado del embalse [0-100]: "))
accion_central(p,estanque)
In [ ]:
# Solución 2
def accion_central(precio, capacidad):
if precio>60 and capacidad>10:
print "Generar"
elif precio<=60 and capacidad<=90:
print "Bombear"
else:
print "Nada"
return
p = float(raw_input("Ingrese precio de electricidad en USD: "))
estanque = float(raw_input("Ingrese porcentaje llenado del embalse [0-100]: "))
accion_central(p,estanque)
Un año es bisiesto si es divisible por 4, excepto si es divisible por 100 y no por 400. Escriba la función es_bisiesto(anno) que reciba el año y regrese True si el año provisto es bisiesto o False si no lo es.
es_bisiesto(1988)
True
es_bisiesto(2011)
False
es_bisiesto(1700)
False
es_bisiesto(2400)
True
In [ ]:
# Solucion de los alumnos
def es_bisiesto(anno):
# FIX ME
return False
year = int(raw_input("Ingrese un año: "))
print es_bisiesto(year)
In [ ]:
# Solucion 1
def es_bisiesto(anno):
if anno % 400 == 0:
bisiesto = True
elif anno % 100 == 0:
bisiesto = False
elif anno % 4 == 0:
bisiesto = True
else:
bisiesto = False
return bisiesto
year = int(raw_input("Ingrese un año: "))
print es_bisiesto(year)
In [ ]:
# Solucion 2
def es_bisiesto(anno):
if ((anno % 4 == 0 and anno % 100 != 0) or anno % 400 == 0):
bisiesto = True
else:
bisiesto = False
return bisiesto
year = int(raw_input("Ingrese un año: "))
print es_bisiesto(year)
In [ ]:
# Solucion 3
def es_bisiesto(anno):
return ((anno % 4 == 0 and anno % 100 != 0) or anno % 400 == 0)
year = int(raw_input("Ingrese un año: "))
print es_bisiesto(year)