diff --git a/Activity_3_python/exercises_4/exercise_4_1_1.py b/Activity_3_python/exercises_4/exercise_4_1_1.py new file mode 100644 index 0000000..00513b1 --- /dev/null +++ b/Activity_3_python/exercises_4/exercise_4_1_1.py @@ -0,0 +1,58 @@ +# Ecrire une fonction carre() qui retourne le carré d'un nombre: +# >>> print(carre(11.11111)) +# 123.4567654321 + +# 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 + +def carre(a): + return a*a + +while True: + try: + a = input("Entrez un nombre: ") + a = float(a) + break + except ValueError: + try: + a = eval(a) + break + except: + print("Oops! Ce n'était pas un nombre valide. Essayez encore...") +print(str(a) + "² =", "{:.10g}".format(carre(a))) + +# Amélioration du script avec une interface graphique + +from tkinter import * + +def carre(a): + return a*a + +def carre2(): + a = entree.get() + try: + a = float(a) + except ValueError: + try: + a = eval(a) + except: + a = "Oops! Ce n'était pas un nombre valide. Essayez encore..." + sortie.configure(text = str(a) + "² = " + "{:.10g}".format(carre(a))) + +fenetre = Tk() +fenetre.title("Calculatrice de carré") +fenetre.geometry("300x100") + +entree = Entry(fenetre, width=30) +entree.pack() + +bouton = Button(fenetre, text="Calculer", command=carre2) +bouton.pack() + +sortie = Label(fenetre, text="") +sortie.pack() + +fenetre.mainloop() \ No newline at end of file diff --git a/Activity_3_python/exercises_4/exercise_4_1_2.py b/Activity_3_python/exercises_4/exercise_4_1_2.py new file mode 100644 index 0000000..c667cd4 --- /dev/null +++ b/Activity_3_python/exercises_4/exercise_4_1_2.py @@ -0,0 +1,18 @@ +# Avec une boucle while et la fonction carre(), écrire un script qui affiche le carré des nombres entiers de 1 à 100: +# >>> +# 1² = 1 +# 2² = 4 +# 3² = 9 +# ... +# 99² = 9801 +# 100² = 10000 +# Fin du programme + +def carre(a): + return a*a + +i = 1 +while i <= 100: + print(str(i) + "² =", carre(i)) + i += 1 +print("Fin du programme") \ No newline at end of file diff --git a/Activity_3_python/exercises_4/exercise_4_2.py b/Activity_3_python/exercises_4/exercise_4_2.py new file mode 100644 index 0000000..af9200b --- /dev/null +++ b/Activity_3_python/exercises_4/exercise_4_2.py @@ -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() \ No newline at end of file diff --git a/Activity_3_python/exercises_4/exercise_4_3.py b/Activity_3_python/exercises_4/exercise_4_3.py new file mode 100644 index 0000000..56bb88f --- /dev/null +++ b/Activity_3_python/exercises_4/exercise_4_3.py @@ -0,0 +1,67 @@ +# Ecrire une fonction qui retourne la factorielle d'un nombre entier N. +# On rappelle que : N ! = 1×2×...×(N-1)×N +# >>> print(factorielle(50)) +# 30414093201713378043612608166064768844377641568960512000000000000 + +def factorielle(N): + if N == 0: + return 1 + else: + return N * factorielle(N-1) + +while True: + try: + N = input("Entrez un nombre entier: ") + N = int(N) + break + except ValueError: + try: + N = eval(N) + N = int(N) + break + except: + print("Oops! Ce n'était pas un nombre valide. Essayez encore...") +print("factorielle(" + str(N) + ") =", factorielle(N)) + +# Amélioration du script avec une interface graphique + +from tkinter import * + +def factorielle(N): + if N == 0: + return 1 + else: + return N * factorielle(N-1) + +def factorielle2(): + N = entree.get() + try: + N = int(N) + except ValueError: + try: + N = eval(N) + N = int(N) + except: + N = "Oops! Ce n'était pas un nombre valide. Essayez encore..." + sortie.configure(text = "factorielle(" + str(N) + ") = " + str(factorielle(N))) + +fenetre = Tk() +fenetre.title("Calculatrice de factorielle") +fenetre.geometry("300x100") + +entree = Entry(fenetre, width=30) +entree.pack() + +bouton = Button(fenetre, text="Calculer", command=factorielle2) +bouton.pack() + +sortie = Label(fenetre, text="") +sortie.pack() + +fenetre.mainloop() + + +# Comparez avec le résultat de la fonction factorial() du module math. + +from math import factorial +print("factorial(" + str(N) + ") =", factorial(N)) \ No newline at end of file