1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
| #!/usr/bin/python
from tkinter import *
import random
from tkinter.messagebox import *
def du(nom):
### On teste si la premiere lettre du nom est une voyelle
if nom[0] in 'aeiouy' :
#### exemple : de l'or
return "de l'"+nom
else :
#### exemple : du cuivre
return "du "+nom
def de(nom):
if nom[0] in 'aeiouy' :
#### exemple : d'or
return "d'"+nom
else :
#### exemple : de cuivre
return "de "+nom
class CubeMetallique :
metaux={'fer':7.9,'plomb':11.4,'cuivre':9,'zinc':7.1,'platine':21.5,'nickel':8.3,"or":19.3,"aluminium":2.7,"argent":10.5,'étain':7.3}
def __init__(self,k,e,m):
self.k=k
self.e=e
self.m=m
self.densite = self.metaux[self.m]
self.V=(10*self.k*self.e)**3
@classmethod
def create_randomly(cls):
k=random.choice(range(1,20))
e=random.choice(range(1,20))
m=random.choice(list(cls.metaux))
return cls(k,e,m)
def print_enonce_cube(self):
print("Une masse cubique en",self.m,"a",self.k*self.e,"cm darête. On la transforme en une feuille de",self.e,"mm dépaisseur.")
print("Quelle est la surface de cette feuille ?")
print("Quel est le poids (la masse) d'un mètre carré de cette feuille ?")
print(' ')
def reponse_cube(self):
print("On peut considérer le cube comme un pavé droit dont l'épaisseur serait égale à la longueur de l'arête")
print("Donc, lépaisseur du cube est égale à",self.k*self.e,"cm =",10*self.k*self.e,"mmm.")
print("Lépaisseur de la feuille est",10*self.k*self.e,"/",self.e,"=",10*self.k,"fois plus petite donc, puisque le volume est constant,")
print("laire de la feuille est",10*self.k,"fois plus grande :")
print(10*self.k*self.e,'x',10*self.k*self.e,"×",10*self.k,"=",1000*self.k**3*self.e**2,"mm2 =",10*self.k**3*self.e**2,"cm2 =",self.k**3*self.e**2/10,"dm2 =",self.k**3*self.e**2/1000,"m2")
print(' ')
print("La densité",du(self.m),"est égale à", self.densite,"cela signifie que ")
print("1 dm3 ",de(self.m),"a une masse de",self.densite,"kg ou")
print("1 m3 = 10**3 dm3 ",de(self.m),"a une masse de",self.densite,"x 10**3 kg =",self.densite,"t")
print("La masse de",self.V/10**9,"m3 ",de(self.m),"est égale à",self.densite,"x",self.V/10**9,"t =",self.densite*self.V/10**9,"t")
print("La masse de 1 m2 de cette feuille est égale à :",self.densite*self.V/10**9,"t/",self.V/((10**6)*self.e),"m2 =",self.densite*self.e/1000,"t =",self.densite*self.e,"kg")
print(' ')
print(' ')
print("Solution utilisant le volume et la surface")
print("Le volume dun cube est c × c × c = c**3 ; il faut convertir toutes les mesures dans la même unité,")
print("il est plus simple de convertir",self.k*self.e,"cm en mm, donc,",self.k*self.e,"cm = 10 x",self.k*self.e,"=",10*self.k*self.e,"mm donc,")
print("le volume du cube est égal à",10*self.k*self.e,"x",10*self.k*self.e,"x",10*self.k*self.e,"=",self.V,"mm3 =",self.V/10**3,"cm3 =",self.V/10**6,"dm3 =",self.V/10**9,"m3")
print("La feuille a le même volume que le cube donc,")
print("S = V/e =",self.V,"/",self.e,"=",self.V/self.e,"mm2 =",self.V/(100*self.e),"cm2 =",self.V/((10**4)*self.e),"dm2 =",self.V/((10**6)*self.e),"m2")
print(' ')
print(' ')
print(' ')
cube = CubeMetallique.create_randomly()
fenetre = Tk()
canvas = Canvas(fenetre, width=100, height=20, background='white')
canvas.pack(side =TOP, padx =5, pady =5)
bouton1 = Button(fenetre, text ='cube', command = cube.print_enonce_cube)
bouton1.pack(side =TOP, padx =10, pady =10)
bouton3 = Button(fenetre, text ='réponse_cube', command = cube.reponse_cube)
bouton3.pack(side =RIGHT, padx =10, pady =10)
fenetre.mainloop() |
Partager