Aller au contenu principal

Atelier 11 - Fonctions intégrées

Pratique​

Numéro 1​

Sans les exécuter, essayez de prédire le résultat de chacune des lignes suivantes. Certaines vont vous surprendre! Exécutez-les ensuite pour vérifier vos réponses.

import math

round(2.5)
round(0.5)
int(-7 / 2)
-7 // 2
math.floor(-3.5)
bool("False")
math.fmod(-7, 3)
-7 % 3

Numéro 2​

Calculez l'aire d'un cercle en utilisant la valeur de pi du module math.

Exemple:

Entrez le rayon du cercle: 5
L'aire est de: 78.54

Numéro 3​

En utilisant les fonctions du module math, calculez le nombre de chances de gagner le gros lot au tirage classique du loto 6/49.

Comment fonctionne le 6/49: 6 numéros sont tirés parmi les 49 disponibles. Si les 6 numéros sont sur votre billet vous gagnez le gros lot.

Petit défi: Afficher le nombre de chances de gagner en utilisant le séparateur de milliers français: l'espace

Exemple de résultat:

# Sans le défi:
Vous avez 1 chance sur 13,983,816 de gagner le 6/49

# Avec le défi:
Vous avez 1 chance sur 13 983 816 de gagner le 6/49

Numéro 4​

Demandez un texte à l'utilisateur, sur ce texte:

  • Transformez tout en minuscule
  • Remplacez les lettres 'e' par des 'o'
  • Retirez les lettre 'a'
  • Doublez la consonne de votre choix
  • Mettre la première lettre seulement en majuscule

Exemple de résultat:

Veuillez écrire quelque chose: Aujourd'hui il fait beau
Ujourrd'hui il fit bou

Numéro 5​

Demandez un nombre à l'utilisateur. S'il donne un nombre multipliez le par deux. S'il donne autre chose, affichez un message d'erreur. Attention, s'il répond 42 (notez les espaces devant le chiffre) vous devez accepter le nombre.

Exemple:

Veuillez saisir un nombre: 5
Le nombre doublé est: 10

Veuillez saisir un nombre: 2,3
Le nombre donné n'est pas valide

Numéro 6​

Demandez un nombre entre 1 et 10 à l'utilisateur. Si l'entrée n'est pas valide, affichez le message d'erreur approprié et reposez la question, jusqu'à ce qu'un nombre valide soit entré:

  • Si ce n'est pas un nombre entier valide: "Ce n'est pas un nombre entier valide"
  • Si le nombre est plus petit que 1: "Le nombre doit être supérieur ou égal à 1"
  • Si le nombre est plus grand que 10: "Le nombre doit être inférieur ou égal à 10"

Exemple:

Entrez un nombre entre 1 et 10: abc
Ce n'est pas un nombre entier valide

Entrez un nombre entre 1 et 10: -3
Le nombre doit être supérieur ou égal à 1

Entrez un nombre entre 1 et 10: 15
Le nombre doit être inférieur ou égal à 10

Entrez un nombre entre 1 et 10: 7
Vous avez entré: 7

Numéro 7​

Reprendre le numéro 5 de l'atelier 4 du chapitre 2. Corrigez l'erreur d'arrondis lors du calcul des taxes.

Copie de l'énoncé du numéro 5 de l'atelier 4 du chapitre 2:

Demandez à l'utilisateur un nombre de produits et un prix unitaire. Affichez sur 2 décimales: Le sous-total, la TPS, la TVQ et le total.

Exemple (remarquez l'erreur d'arrondis):

Veuillez entrer un nombre de produits: 4
Veuillez entrer un prix unitaire: 9.99

Sous-total: 39.96
TPS: 2.00
TVQ: 3.99
Total: 45.94

Numéro 8​

En utilisant le module random (et d'autres fonctions vues dans les notes de cours au besoin), générez et affichez:

  • Un nombre entier aléatoire entre -10 et 10
  • Un montant aléatoire entre 9.99$ et 19.99$, arrondi à 2 décimales
  • Un booléen aléatoire (True ou False)
  • Une chaîne de 5 lettres majuscules aléatoires

Exemple de résultat (vos valeurs seront différentes à chaque exécution):

Nombre: -3
Montant: 14.52$
Booléen: True
Chaîne: QXKPL

Analyse​

Voici 3 problèmes accompagnés d'une solution déjà écrite (générée par une IA). Le numéro 9 contient un bug, les numéros 10 et 11 fonctionnent correctement mais pourraient être améliorés. Analysez chaque solution et expliquez ce qui pourrait être corrigé ou amélioré.

Numéro 9​

Le solde d'un compte a varié de -18$ au total sur 7 jours. Le programme devrait afficher la moyenne arrondie vers le bas (-3), mais affiche -2.

total: int = -18
jours: int = 7
moyenne: int = int(total / jours)

print("Moyenne:", moyenne)

Numéro 10​

Affichez le plus grand de 3 nombres.

a: int = 15
b: int = 42
c: int = 8
plusGrand: int

if a > b and a > c:
plusGrand = a
elif b > a and b > c:
plusGrand = b
else:
plusGrand = c

print("Le plus grand est:", plusGrand)

Numéro 11​

Calculez l'écart entre un nombre cible et une tentative.

cible: int = 50
tentative: int = 37
ecart: int

if tentative > cible:
ecart = tentative - cible
else:
ecart = cible - tentative

print("Écart:", ecart)

🔑 Corrigé disponible