Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix instructions.md: Simple correction #9

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion P1/P1C3/correction/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
print("J'apprends Python !")

#Afficher le résulat d'un calcul
print(17 + 35 * 2)
print(17 + 35 * 2)
9 changes: 8 additions & 1 deletion P1/P1C4/énoncé/main.py
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
# Écrivez votre code ici !
nom = "Lionel"
age = 2024 - 1965

print(f"Je m'appelle {nom} et j'ai {age} ans.")

age += 10

print(f"Je m'appelle {nom} et j'ai {age} ans maintenant.")
17 changes: 16 additions & 1 deletion P1/P1C5/énoncé/main.py
Original file line number Diff line number Diff line change
@@ -1 +1,16 @@
# Écrivez votre code ici !
nom = "Jean"
age = 25
taille = 1.75
est_etudiant = True
der_notes = {"maths":10, "langue":12}

print("Nom:", nom)
print("Âge:", age)
print("Taille:", taille)
print("Est étudiant:", est_etudiant)
print("Dernières note:", der_notes)

print("Type nom:", type(nom))
print("Type age:", type(age))
print("Type taille:", type(taille))
print("Type est étudiant:", type(der_notes))
15 changes: 14 additions & 1 deletion P1/P1C6/énoncé/main.py
Original file line number Diff line number Diff line change
@@ -1 +1,14 @@
# Écrivez votre code ici !
fruits = ["pomme", "banane", "orange", "banane"]
print(fruits)

# print(fruits.count())

# fruits.reverse()


fruits = set(fruits)
print(type(fruits))

fruits = list(fruits)
fruits.sort()
print(fruits)
Binary file added P1/P1C7/énoncé/__pycache__/main.cpython-312.pyc
Binary file not shown.
18 changes: 17 additions & 1 deletion P1/P1C7/énoncé/main.py
Original file line number Diff line number Diff line change
@@ -1 +1,17 @@
# Écrivez votre code ici !
# 1. Création du dictionnaire fruits
fruits = {"pomme": "rouge", "banane": "jaune", "orange": "orange"}

# 2. Ajout de la clé "kiwi"
fruits["kiwi"] = "vert"

# 3. Accès à la valeur correspondant à la clé "banane"
couleur_banane = fruits["banane"]

# 4. Modification de la valeur associée à la clé "pomme"
fruits["pomme"] = "vert"

# 5. Suppression de la clé "orange"
del fruits["banane"]

# 6. Affichage des clés restantes dans le dictionnaire
print(fruits.keys())
2 changes: 1 addition & 1 deletion P1/P1C7/énoncé/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,4 @@ def test_contenu_final_dictionnaire():

def test_extraire_couleur_banane():
expected_value = "jaune"
assert couleur_banane == expected_value, "La couleur de banane n'a pas été extraite : jaune"
assert couleur_banane == expected_value, "La couleur de banane n'a pas été extraite : jaune"
24 changes: 24 additions & 0 deletions P1/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import pprint

ct1 = {
"prenom": "Michael",
"nom": "Jackson",
"telephone": "123-456-7890",
"email": "[email protected]",
}
ct2 = {
"prenom": "Paul",
"nom": "Young",
"telephone": "123-456-7890",
"email": "[email protected]",
}

cts = []
cts.append(ct1)
cts.append(ct2)

# cts.remove(ct1)

pprint.pprint(cts)
print(72 * "x")
pprint.pprint(cts, sort_dicts=False)
Binary file added P2/P2C1/énoncé/__pycache__/main.cpython-312.pyc
Binary file not shown.
Binary file not shown.
4 changes: 2 additions & 2 deletions P2/P2C1/énoncé/instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Vous allez créer une calculatrice qui permettra d'effectuer une opération simp
#### 1. Créez deux variables `nombre_a_gauche` et `nombre_a_droite` , et affectez-leur chacune un nombre entier à l'aide d'un input.
- La valeur pour **chaque variable** doit être assigné à l'aide de la fonction `input()` qui permet de demander à l'utilisateur d'entrer une chaine de caractère.

#### 2. Créez une variable `operation` pour stocker le symbole d'opération **(+, -, * ou /)**. L'opérateur sera aussi demander à l'aide de la fonction `input()`.
#### 2. Créez une variable `operation` pour stocker le symbole d'opération **(+, -, * ou /)**. L'opérateur sera aussi demandé à l'aide de la fonction `input()`.

#### 3. Créez une dernière variable `resultat` initialisée à 0, qui contiendra ensuite le résultat du calcul.

Expand All @@ -25,4 +25,4 @@ Vous allez créer une calculatrice qui permettra d'effectuer une opération simp

#### 6. Affichez le résultat contenu dans la variable `resultat` .

**Attention** : Dans cet exercice, écrivez votre code dans la partie située sous la ligne `def main()`. **Assurez-vous donc de tout indenter d'un cran** pour que votre code fonctionne correctement. Nous avons enveloppé votre code dans ce qu'on appelle une fonction, pour tester votre code nous avons dû imbriquer votre code dans cette fonction.
**Attention** : Dans cet exercice, écrivez votre code dans la partie située sous la ligne `def main()`. **Assurez-vous donc de tout indenter d'un cran** pour que votre code fonctionne correctement. Nous avons enveloppé votre code dans ce qu'on appelle une fonction, pour tester votre code nous avons dû imbriquer votre code dans cette fonction.
37 changes: 33 additions & 4 deletions P2/P2C1/énoncé/main.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,37 @@
def main():
# Ecrivez votre code ici !
# Attention tout votre code doit être indenté comme ce commentaire
nombre_a_gauche = input("Entrez un nombre entier : ")
nombre_a_droite = input("Entrez un nombre entier : ")
operation = input("Entrez l'opération souhaitée ['+', '-', '*' ou '/'] : ")

resultat = 0

# Vérifie si les deux nombres sont valides avec la fonction
# isinstance (soit un integer, soit un float)
if not nombre_a_gauche.isnumeric() or not nombre_a_droite.isnumeric():
print("Erreur: les deux nombres doivent être des nombres entiers")
else:
nombre_a_gauche = int(nombre_a_gauche)
nombre_a_droite = int(nombre_a_droite)

match operation:
case "+":
resultat = nombre_a_gauche + nombre_a_droite
case "-":
resultat = nombre_a_gauche - nombre_a_droite
case "*":
resultat = nombre_a_gauche * nombre_a_droite
case "/":
# Vérifie si la variable `nombre_a_droite` n'est pas nulle pour la division
if nombre_a_droite == 0:
print("Erreur: impossible de diviser par zéro.")
else:
resultat = nombre_a_gauche / nombre_a_droite
# Si on est dans le cas par défaut, c'est que le symbole est incorrect.
case _:
print("Erreur: le symbole d'opération doit être '+', '-', '*' ou '/'.")

# Affiche le résultat
print(f"Le résultat de l'opération est: {resultat}")

# Ne touchez pas le code ci-dessous
if __name__ == "__main__":
main()
main()
2 changes: 1 addition & 1 deletion P2/P2C1/énoncé/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,4 @@ def test_division_zero(mocker):
output = captured_output.getvalue()
sys.stdout = sys.__stdout__
expected_value = "Erreur: impossible de diviser par zéro."
assert expected_value in output
assert expected_value in output
2 changes: 1 addition & 1 deletion P2/P2C2/correction/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,4 @@ def main():

# Ne touchez pas le code ci-dessous
if __name__ == "__main__":
main()
main()
24 changes: 19 additions & 5 deletions P2/P2C2/énoncé/main.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,22 @@
def main():
# Ecrivez votre code ici !
# Attention tout votre code doit être indenté comme ce commentaire
# def main():
# l = input("Saisissez une liste de nombres séparés par des virgules : ")
l = "1,2,3,4,5"
print(l)
l = l.split(",")
print(l)

s=0
for n in l:
s += int(n)

print("Somme des nombres:", s)
m = s/len(l)
print("Moyenne des nombres:", m)
count = sum(1 for n in l if int(n) > m)
print("Nombre de nombres supérieurs à la moyenne:", count)
count2 = sum(1 for n in l if not int(n) %2)
print("Nombre de nombres pairs:", count2)

# Ne touchez pas le code ci-dessous
if __name__ == "__main__":
main()
# if __name__ == "__main__":
# main()
23 changes: 19 additions & 4 deletions P2/P2C3/énoncé/main.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# Ecrivez vos fonctions ici
def salaire_mensuel(salaire_annuel):
return salaire_annuel / 12

# Ne touchez pas le code ci-dessous
if __name__ == "__main__":
main()

def salaire_hebdomadaire(salaire_mensuel):
return salaire_mensuel / 4


def salaire_horaire(salaire_hebdomadaire, heures_travaillees):
return salaire_hebdomadaire / heures_travaillees

def main():
salaire_annuel = 18000
heures_par_semaine = 35

salaire_hebdo = salaire_hebdomadaire(salaire_mensuel(salaire_annuel))

print(salaire_horaire (salaire_hebdo, heures_par_semaine))

main()
10 changes: 10 additions & 0 deletions P2/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
fruit = 'osrange'
match fruit:
case "pomme":
print("J'aime les pommes !")
case "banane":
print("Je n'aime pas les bananes.")
case "orange":
print("Les oranges sont bonnes pour la santé.")
case _:
print(f"Je ne connais pas ce fruit ({fruit}).")
2 changes: 1 addition & 1 deletion P3/P3C1/correction/operations.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ def addition(a, b):


def multiplication(a, b):
return a * b
return a * b
Binary file added P3/P3C1/énoncé/__pycache__/main.cpython-312.pyc
Binary file not shown.
Binary file not shown.
Binary file not shown.
14 changes: 11 additions & 3 deletions P3/P3C1/énoncé/main.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
# Ecrivez votre code ici !
import operations


def main():
print("{0:5d}".format(
int(operations.addition(10, 5)),
))
print("{0:5d}".format(
int(operations.multiplication(8, 4))
))


# Ne touchez pas le code ci-dessous
if __name__ == "__main__":
main()
main()
17 changes: 16 additions & 1 deletion P3/P3C1/énoncé/operations.py
Original file line number Diff line number Diff line change
@@ -1 +1,16 @@
# Écrivez votre code ici !
def addition(a, b):
"""
Cette fonction calcule la somme de deux nombres et retourne le résultat.

Parameters:
a (int): le premier nombre
b (int): le deuxième nombre

Returns:
int: la somme de a et b
"""
return a + b


def multiplication(a, b):
return a * b
10 changes: 6 additions & 4 deletions P3/P3C1/énoncé/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,19 @@
from main import main
from operations import multiplication, addition


def test_main():
output = StringIO()
sys.stdout = output
main()
output_value = output.getvalue().strip()
sys.stdout = sys.__stdout__
assert '8' in output_value, "Les fonctions ne sont pas correctement appelées, ou vous n'affichez pas les résultats."
assert '16'in output_value, "Les fonctions ne sont pas correctement appelées, ou vous n'affichez pas les résultats."

assert (
"15\n 32" in output_value
), "Les fonctions ne sont pas correctement appelées, ou vous n'affichez pas les résultats."

def test_multiplication():
assert multiplication(10, 5) == 50, "La fonction multiplication n'est pas correctement définit"

def test_addition():
assert addition(10, 5) == 15, "La fonction addition n'est pas correctement définie."
assert addition(10, 5) == 15, "La fonction addition n'est pas correctement définie."
Binary file not shown.
50 changes: 50 additions & 0 deletions P3/P3C2/énoncé/govuk.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import requests

from bs4 import BeautifulSoup

url = "https://www.gov.uk/search/news-and-communications"
resp = requests.get(url)

# print(resp)

# print(html.content)
# print(html.text)
page = resp.content

soup = BeautifulSoup(page, "html.parser")

# print("Titre: ", soup.title)
# print("Titre: ", soup.title.string)
# print()

class_name = "gem-c-document-list__item-title"
titles = soup.find_all("div", class_=class_name)

class_name = "gem-c-document-list__item-description"
descr = soup.find_all("p", class_=class_name)

print(str(len(titles)) + " titres &", str(len(descr)) + " descriptions:")
print()

for n in range(len(titles)):
print(titles[n].a.string)
print(descr[n].string)
print("-" * 68)

# for t,d in titles, descr:
# print (t.string)
# for d in descr:
# print(d.string)
# print(len(titles))
# for t in titles:
# pass
# print(t.a.string)


# print(soup.find_all("a"))
# print()
# # print(soup.find(id="lien1").string)
# # print()
# print(soup.find_all("p", class_="title"))

# print("-" * 68)
2 changes: 1 addition & 1 deletion P3/P3C2/énoncé/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ <h2>Produit 3</h2>
</li>
</ul>
</body>
</html>
</html>
Loading