mirror of
https://github.com/arthur-pbty/nsi.git
synced 2026-06-03 23:36:19 +02:00
add exercise 4.1.1, 4.1.2, 4.2, 4.3
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
# Ecrire une fonction airedisque() qui retourne l'aire de la surface d'un disque de rayon R.
|
||||
# >>> print(airedisque(2.5))
|
||||
# 19.6349540849
|
||||
|
||||
# Ajouter un paramètre qui précise l'unité de mesure
|
||||
# >>> print(airedisque2(4.2, 'cm'))
|
||||
# 55.4176944093 cm²
|
||||
|
||||
# Le script prend en compte :
|
||||
# les erreurs de saisie de l'utilisateur,
|
||||
# les nombres entiers et les nombres décimaux,
|
||||
# les nombres négatifs et les nombres positifs,
|
||||
# les calcules exemple : 10**3, 10/3, (1/4)*5,
|
||||
# les unités de mesure exemple : cm, m, km, mm, ...
|
||||
|
||||
from math import pi
|
||||
|
||||
def airedisque2(R, unite):
|
||||
return str(pi * R * R) + " " + unite + "²"
|
||||
|
||||
while True:
|
||||
try:
|
||||
R = input("Entrez un nombre: ")
|
||||
R = float(R)
|
||||
break
|
||||
except ValueError:
|
||||
try:
|
||||
R = eval(R)
|
||||
break
|
||||
except:
|
||||
print("Oops! Ce n'était pas un nombre valide. Essayez encore...")
|
||||
unite = input("Entrez l'unité de mesure: ")
|
||||
print(airedisque2(R, unite))
|
||||
|
||||
# Amélioration du script avec une interface graphique
|
||||
|
||||
from math import pi
|
||||
from tkinter import *
|
||||
|
||||
def airedisque2():
|
||||
R = entree.get()
|
||||
try:
|
||||
R = float(R)
|
||||
except ValueError:
|
||||
try:
|
||||
R = eval(R)
|
||||
except:
|
||||
R = "Oops! Ce n'était pas un nombre valide. Essayez encore..."
|
||||
unite = entree2.get()
|
||||
sortie.configure(text = str(pi * R * R) + " " + unite + "²")
|
||||
|
||||
fenetre = Tk()
|
||||
fenetre.title("Calculatrice d'aire de disque")
|
||||
fenetre.geometry("300x150")
|
||||
|
||||
label = Label(fenetre, text="Saisir le rayon du disque :")
|
||||
label.pack()
|
||||
entree = Entry(fenetre, width=30)
|
||||
entree.pack()
|
||||
|
||||
label2 = Label(fenetre, text="Saisir l'unité de mesure :")
|
||||
label2.pack()
|
||||
entree2 = Entry(fenetre, width=30)
|
||||
entree2.pack()
|
||||
|
||||
bouton = Button(fenetre, text="Calculer", command=airedisque2)
|
||||
bouton.pack()
|
||||
|
||||
sortie = Label(fenetre, text="")
|
||||
sortie.pack()
|
||||
|
||||
fenetre.mainloop()
|
||||
Reference in New Issue
Block a user