Ventilador adaptativo
Introducción
Como actividad fundamental de la unidad 1 hicimos la simulación de un ventilador, el lenguaje que empleamos para
codificarlo fue Python.
Desarrollo
En nuestro ventilador se mostrará un fondo de acuerdo a la estación del año que esté en el mes que se seleccionó de manera aleatoria, posteriormente nosotros ingresaremos la temperatura que deseamos que esté en el interior de la habitación, en nuestro programa se genera la temperatura exterior de manera aleatoria, estableciendo nosotros un rango específico dependiendo de el mes que nos encontremos, la temperatura interior que está antes de encender el ventilador, también es generada de manera aleatoria, y si esta es mayor a la deseada, se le resta un numero aleatorio del 1 al 10, y si es menor se le suma del 1 al 5, también realizado de manera aleatoria, cuando nuestro ventilador llegue a la "temperatura deseada" el programa se detiene.
Código
#! usr/bin/env python
#importamos las librerías a utilizar en el programa
import time
import random
import pygame
from pygame.locals import *
pygame.init()
#Aquí damos un alto y un ancho a la ventana
ancho=455
alto=341
#función a utilizar en el programa
def tempintex(tempexterior, temp, tempinterior):
while (temp != tempinterior):
if(tempinterior < temp):
suma = random.randint(1, 5)
tempinterior= tempinterior + suma
print "\nTemperatura interior",tempinterior
print "Temperatura exterior",tempexterior
else:
suma = random.randint(1, 10)
tempinterior= tempinterior - suma
print "\nTemperatura interior",tempinterior
print "Temperatura exterior",tempexterior
#Convertimos a str las variables para mostrarlas en la interfaz
temp = str(temp)
tempinterior = str(tempinterior)
screen.blit(fuente.render(temp, True, (0, 0, 0)), (422, 253))
screen.blit(fuente2.render(tempinterior, True, (220, 220, 220)), (227, 77))
pygame.display.update()
#Actualizamos el fondo dependiendo del mes que obtuvimos del random
if((mes == 1)or (mes == 2) or (mes == 3) or (mes == 12)):
screen.blit(i, (0, 0))
elif((mes == 4)or (mes == 5)):
screen.blit(p, (0, 0))
elif((mes == 6)or (mes == 7) or (mes == 8) or (mes == 9)):
screen.blit(v, (0, 0))
elif((mes == 10)or (mes == 11)):
screen.blit(o, (0, 0))
#Volvemos a convertir a enteros las variables
temp= int(temp)
tempinterior= int(tempinterior)
time.sleep(2)
if __name__ == "__main__":
mes = random.randint(1, 12)
if mes == 1:
print "Enero"
temp = input("\nTemperatura deseada del ventilador?: ")
elif (mes == 2):
print "Febrero"
temp = input("\nTemperatura deseada del ventilador?: ")
#se repite lo mismo hasta elif( mes == 12):
screen = pygame.display.set_mode((ancho, alto))
pygame.display.set_caption("Ventilador Adaptativo")
p = pygame.image.load("primavera.jpg")
v = pygame.image.load("verano.jpg")
o = pygame.image.load("otono.jpg")
i = pygame.image.load("invierno.jpg")
fuente = pygame.font.Font(None, 25)
fuente2= pygame.font.Font(None, 20)
pygame.display.flip()
time.sleep(1)
#Solo evaluamos el mes, dependiendo de que mes salga se hará una tarea
#específica con un rango de temperaturas en cada uno de ellos
if mes == 1:
print "\nInvierno"
screen.blit(i, (0, 0))
pygame.display.update()
tempexterior =random.randint(8,20)
tempinterior =random.randint(4, 24)
tempintex(tempexterior, temp, tempinterior)
elif mes == 2:
print "\nInvierno"
screen.blit(i, (0, 0))
pygame.display.update()
tempexterior =random.randint(10,23)
tempinterior =random.randint(6,25)
tempintex(tempexterior, temp, tempinterior)
elif mes == 3:
print "\nInvierno"
screen.blit(i, (0, 0))
pygame.display.update()
tempexterior =random.randint(14,27)
tempinterior =random.randint(10,31)
tempintex(tempexterior, temp, tempinterior)
elif mes == 4:
print "\nPrimavera"
screen.blit(p, (0, 0))
pygame.display.update()
tempexterior =random.randint(17,30)
tempinterior =random.randint(13,34)
tempintex(tempexterior, temp, tempinterior)
elif mes == 5:
print "\nPrimavera"
screen.blit(p, (0, 0))
pygame.display.update()
tempexterior =random.randint(20,32)
tempinterior =random.randint(16,36)
tempintex(tempexterior, temp, tempinterior)
elif mes == 6:
print "\nVerano"
screen.blit(v, (0, 0))
pygame.display.update()
tempexterior =random.randint(22,34)
tempinterior =random.randint(18,38)
tempintex(tempexterior, temp, tempinterior)
elif mes == 7:
print "\nVerano"
screen.blit(v, (0, 0))
pygame.display.update()
tempexterior=random.randint(22,34)
tempinterior =random.randint(18,38)
tempintex(tempexterior, temp, tempinterior)
elif mes == 8:
print "\nVerano"
screen.blit(v, (0, 0))
pygame.display.update()
tempexterior =random.randint(22,34)
tempinterior =random.randint(18,38)
tempintex(tempexterior, temp, tempinterior)
elif mes == 9:
print "\nVerano"
screen.blit(v, (0, 0))
pygame.display.update()
tempexterior =random.randint(21,31)
tempinterior =random.randint(18,35)
tempintex(tempexterior, temp, tempinterior)
elif mes == 10:
print "\nOtono"
screen.blit(o, (0, 0))
pygame.display.update()
tempexterior =random.randint(17,27)
tempinterior =random.randint(14,24)
tempintex(tempexterior, temp, tempinterior)
elif mes == 11:
print "\nOtono"
screen.blit(o, (0, 0))
pygame.display.update()
tempexterior =random.randint(13,24)
tempinterior =random.randint(9,27)
tempintex(tempexterior, temp, tempinterior)
elif mes == 12:
print "\nInvierno"
screen.blit(i, (0, 0))
pygame.display.update()
tempexterior =random.randint(9,21)
tempinterior =random.randint(5,24)
tempintex(tempexterior, temp, tempinterior)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
Video
Integrantes:
Martha Lidia Posadas Castillo 1491761
Ana Perla Reyna Martínez 1493892
Luis Adrián Gómez Elizondo 1484451
No hay comentarios:
Publicar un comentario