Fonctions Lab

Fonctions Lab#

Exercice 1#

  1. Lisez le code suivant et expliquez ce qu'il fait sans l'exécuter.

  2. Exécutez le code. Le code fait-il ce que vous pensiez?

  3. Comment structurer ce code différemment pour qu'il soit plus lisible?

    • Découpez le code en parties qui effectuent une tâche donnée et ajouter des commentaires.

    • Remplacez chaque partie par une fonction.

  4. Copiez, modifiez, testez et exécutez le code dans Thonny ou sur online-python.com. Ne pas oublier de modifier les await input_line() en input().

 1from random import *
 2from time import *
 3
 4print("Bienvenue sur mon application de jeux.")
 5
 6while True:
 7  choix = await input_line("Quel jeu veux-tu essayer?\n"
 8  " Jeu 1 [1], Jeu 2 [2] ou Jeu 3 [3] ou Quitter [q]")
 9  if choix == "1":
10    print("Tu dois deviner un nombre entre 1 et 100 en un minimum d'essais.")
11    nb_secret = randint(1, 100)
12    essais = 0
13    trouve = False
14    while not trouve:
15      nb_propose = int(await input_line("Trouve le nombre: "))
16      essais += 1
17      if nb_propose < nb_secret:
18        print("Le nombre est plus grand!")
19      elif nb_propose > nb_secret:
20        print("Le nombre est plus petit!")
21      else:
22        print("Bravo, tu as trouvé", nb_secret, "en", essais, "essais.")
23        trouve = True
24  elif choix == "2":
25    print("Je vais deviner ton âge!")
26    print("Effectue la suite de calculs suivante:")
27    sleep(4)
28    print("Choisis un nombre entre 2 et 10.")
29    sleep(4)
30    print("Muliplie ce nombre par 2.")
31    sleep(4)
32    print("Ajoute 5 au résultat précédent.")
33    sleep(4)
34    print("Multiplie le nombre par 50.")
35    sleep(4)
36    deja_fete = await input_line("As-tu déjà fêté ton anniversaire cette"
37    " année? [oui/non]")
38    if deja_fete == "oui":
39      print("Ajoute 1774.")
40    else:
41      print("Ajoute 1775.")
42    sleep(2)
43    print("Soustrais ton année de naissance (par exemple, 2001).")
44    nombre = await input_line("Donne-moi le résultat final: ")
45    print("Tu as", nombre[1:3], "ans et le nombre que tu avais choisis au "
46    "départ est", nombre[0], ".")
47  elif choix == "3":
48    print("Réponds à l'énigme suivante:")
49    while True:
50      reponse = await input_line("Placée sous les pieds elle prête à rire.\n"
51      " Placée entre les doigts, elle a permis d'écrire.\n"
52      " Elle sert d'ornement mais s'envolent au gré du vent.\n"
53      " Qui est-elle? ")
54      if (reponse.lower() == "la plume" or reponse.lower() == "plume"
55            or reponse.lower() == "une plume"):
56        print("Bravo!")
57        break
58      else:
59        print("Essaye encore.")
60  elif choix == "q":
61    break
62  else:
63    print("Ce choix n'est pas valide.")
64
65print("Au revoir. Merci d'avoir joué avec moi!")

Exercice 2#

Écrivez un jeu d'énigmes qui a la structure suivante:

  1. Créez plusieurs fonctions qui gèrent la résolution des énigmes. Celles-ci doivent retourner l'information nécessaire pour le calcul du score.

  2. Utilisez une variable pour le score.

  3. Gérez le déroulement du jeu.

Travaillez dans Thonny ou sur online-python.com.