#***************************************************************************************************************************
# Programme de mise en place de l'installation Home Cinéma de l'appartement
# V0.76Beta
#***************************************************************************************************************************
#****************************************************************************************
# Définition des fonctions nécessaires
#****************************************************************************************
##########################################################
#Fonction d'agencement
def
AGENCEMENT(piece,ampli,caisson_de_basses,satellite1,satellite2,satellite3,satellite4,voie_centrale):
list_obj = (piece,ampli,caisson_de_basses,satellite1,satellite2,satellite3,satellite4,voie_centrale)
proposition = 0
for i in range(len(list_obj)):
proposition = proposition + 'Ma chérie dans ',piece,' on mettra ',list_obj(i),' là.'
return
proposition
##########################################################
#Fonction de détermination du WAF - Woman Acceptance Factor
def
WAF(proposition_agencement):
coef1 = eval_esthetisme_general(proposition)
coef2 = eval_gène_pour_circuler(proposition)
coef3 = eval_gène_pour_deplier_le_sechoir(proposition)
coef4 = eval_fils_qui_trainent_partout(proposition)
coef5 = eval_feeling_general_pour_regarder_plus_belle_la_vie(proposition)
coef6 = eval_degré_de_chamboulement_de_la_piece(proposition)
coef7 = eval_distance_à_faire_pour_aller_changer_le_dvd_depuis_le_canapé(proposition)
waf = -sqrt[(coef7+coef3)/(coef2*coef4)]+partie_entiere(coef1/coef6)*exp(coef5)^500000
return
waf
##########################################################
#Calcul de la longueur de câble nécessaire
def
CALC_LONG_CABLE(proposition_agencement):
l1 = abscisse_curviligne(satellite1-ampli)
l2 = abscisse_curviligne(satellite2-ampli)
l3 = abscisse_curviligne(satellite3-ampli)
l4 = abscisse_curviligne(satellite4-ampli)
l5 = abscisse_curviligne(voie_centrale-ampli)
l6 = abscisse_curviligne(caisson-ampli)
long_exacte = l1 + l2 + l3 + l4 + l5 + l6
long = long_exacte * 1.15
return
long
##########################################################
#Calcul du cout total
def
CALC_COUT(longeur):
prix1 = 1 # prix du cable 1.5mm² par mètre
prix2 = 2 # prix du cable 2.5mm² par mètre
prix3 = 5 # prix du cable 4mm² par mètre
long_moy = long/6.
if (long_moy < 25):
prix_tot = long_moy*prix1
elif (25 < long_moy < 60):
prix_tot = long_moy*prix2
elif (long_moy > 60):
prix_tot = long_moy*prix3
print 'y a ptet moyen d'argumenter un peu pour pas lacher un rein en achat de cable...'
return
prix_tot
##########################################################
DEBUT()
#****************************************************************************************
# Calcul de la prosition initiale d'agencement
#****************************************************************************************
#Calcul de la proposition initiale d'agencement de l'appartement
prop_init=
AGENCEMENT(salon,ampli,caisson,sta1,sat2,sat3,sat4,voie_centrale)
#Calcul du WAF
waf=
CALC_WAF(prop_init)
#****************************************************************************************
# Boucle d'acceptation de la proposition d'agencement
#****************************************************************************************
while (waf < 0):
i=i+1
ampli = place_ampli_%d %(i)
caisson = place_caisson_%d %(i)
sat1 = place_satellite1_%d %(i)
sat2 = place_satellite2_%d %(i)
sat3 = place_satellite3_%d %(i)
sat4 = place_satellite4_%d %(i)
vc = place_voie_centrale_%d %(i)
prop =
AGENCEMENT(salon,ampli,sta1,sat2,sat3,sat4,vc)
waf =
CALC_WAF(prop)
print 'WAF = 1 atteint après ',i,' propositions'
prop_finale = prop
#****************************************************************************************
# Calcul du prix de la proposition d'agencement
#****************************************************************************************
long =
CALC_LONG_CABLE(prop_finale)
budget =
CALC_COUT(long)
print 'tu vas lacher ', budget,'€ pour pouvoir te matter STARWARS,puis le Seigneur des Anneaux, puis Indiana Jones, puis ...'
FIN()