first commit
This commit is contained in:
commit
16c9e72055
4 changed files with 22886 additions and 0 deletions
58
01_plus-ou-moins.py
Normal file
58
01_plus-ou-moins.py
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
#!/usr/bin/python3
|
||||||
|
# La ligne ci-dessus s'appelle un shebang sert à expliquer au système
|
||||||
|
# qu'on code en python. Autant la retenir par coeur ou la copier-coller...
|
||||||
|
|
||||||
|
|
||||||
|
# Énoncé : --------------------------------------------------------------------
|
||||||
|
# On cherche à écrire un programme du jeu "plus-ou-moins" :
|
||||||
|
#
|
||||||
|
# D'abord, l'ordinateur choisit un nombre mystère entre 1 et 100
|
||||||
|
# L'utilisateur propose un nombre, et l'ordinateur répond soit
|
||||||
|
# * "C'est plus" si le nombre mystère est supérieur à celui proposé
|
||||||
|
# * "C'est moins" si le nombre mystère est inférieur à celui proposé
|
||||||
|
# * "Gagné !" si l'utilisateur a trouvé le nombre mystère
|
||||||
|
# L'utilisateur doit reproposer un nombre tant qu'il n'a pas gagné
|
||||||
|
|
||||||
|
|
||||||
|
# Fonctions additionnelles (optionnelles) : -----------------------------------
|
||||||
|
# * Compter le nombre de coups avant victoire
|
||||||
|
# * Possibilité de choisir l'intervalle (par ex. 1 et 1000)
|
||||||
|
# * Tableau des scores (avec pseudonyme !)
|
||||||
|
|
||||||
|
|
||||||
|
# Objectifs pédagogiques : ----------------------------------------------------
|
||||||
|
# * Manipuler des variables
|
||||||
|
# * Boucles et conditions
|
||||||
|
# * Manipuler de fichiers (pour le tableau des scores)
|
||||||
|
|
||||||
|
|
||||||
|
# Outils nécessaires : --------------------------------------------------------
|
||||||
|
# * Selection aléatoire du nombre
|
||||||
|
# import random # Importe la bibliothèque (library) des fonctions aléatoires
|
||||||
|
# On utilise la fonction randint de la bibliothèque random
|
||||||
|
# (Et on met le résultat dans la variable x)
|
||||||
|
# x = random.randint(a, b)
|
||||||
|
# Lire la doc : https://docs.python.org/3.1/library/random.html#random.randint
|
||||||
|
# "Return a random integer N such that a <= N <= b."
|
||||||
|
#
|
||||||
|
# * Demander une valeur à l'utilisateur
|
||||||
|
# x = input()
|
||||||
|
# Lire la doc : https://docs.python.org/3.5/library/functions.html#input
|
||||||
|
# En fonction de ce que rentre l'utilisateur, x sera un int ou string ou autre
|
||||||
|
#
|
||||||
|
# * Manipuler des fichiers :
|
||||||
|
# Docs :
|
||||||
|
# https://openclassrooms.com/fr/courses/235344-apprenez-a-programmer-en-python/232431-utilisez-des-fichiers
|
||||||
|
# https://simple-duino.com/manipulation-de-fichiers-en-python/
|
||||||
|
# https://python.developpez.com/cours/apprendre-python3/?page=page_11
|
||||||
|
# Bref, trouvez de la doc.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# * Parler Python3 (syntaxe)
|
||||||
|
# Lire la doc : https://docs.python.org/3.5/reference/compound_stmts.html
|
||||||
|
# Ya des tutos moins arides :
|
||||||
|
# * http://www.xavierdupre.fr/app/teachpyx/helpsphinx/c_lang/syntaxe.html
|
||||||
|
# * https://docs.python.org/fr/3/tutorial/controlflow.html
|
||||||
|
# * https://www.pierre-giraud.com/python-apprendre-programmer-cours/
|
||||||
|
# * "tuto python3" dans google
|
||||||
|
# * crier "ADRIEEEEEN !"
|
22740
02_mots_francais.txt
Normal file
22740
02_mots_francais.txt
Normal file
File diff suppressed because it is too large
Load diff
53
02_pendu.py
Normal file
53
02_pendu.py
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
#!/usr/bin/python3
|
||||||
|
# La ligne ci-dessus s'appelle un shebang sert à expliquer au système
|
||||||
|
# qu'on code en python. Autant la retenir par coeur ou la copier-coller...
|
||||||
|
|
||||||
|
|
||||||
|
# Énoncé : --------------------------------------------------------------------
|
||||||
|
# On cherche à écrire un programme du jeu de "pendu" :
|
||||||
|
#
|
||||||
|
# D'abord, l'ordinateur choisit un mot mystère parmi un fichier de mots
|
||||||
|
# Tant que l'utilisateur n'a pas gagné ou perdu :
|
||||||
|
# L'ordinateur affiche le mot à trous et dit le nombre d'essais restants
|
||||||
|
# L'utilisateur propose une lettre
|
||||||
|
# Si la lettre appartient au mot
|
||||||
|
# L'ordinateur révèle la lettre dans le mot à trou
|
||||||
|
# Sinon
|
||||||
|
# L'ordinateur retire un essai au joueur
|
||||||
|
|
||||||
|
|
||||||
|
# Fonctions additionnelles (optionnelles) : -----------------------------------
|
||||||
|
# * L'ordinateur dessine progressivement le pendu
|
||||||
|
# * L'ordinateur rappelle les lettres déjà proposées
|
||||||
|
# * Tableau des scores (on peut reprendre le code du "plus-ou-moins")
|
||||||
|
|
||||||
|
|
||||||
|
# Objectifs pédagogiques : ----------------------------------------------------
|
||||||
|
# * Manipuler des tableaux
|
||||||
|
# * Découper son code en fonctions
|
||||||
|
# * Faire de l'ASCII art (dessin du pendu)
|
||||||
|
# * Chaînes de caractères sur plusieurs lignes (dessin du pendu)
|
||||||
|
|
||||||
|
|
||||||
|
# Outils nécessaires : --------------------------------------------------------
|
||||||
|
# * Les tableaux
|
||||||
|
# mot = "pendu"
|
||||||
|
# lettres_manquantes = [True, False, True, True, False] # Un tableau de bool
|
||||||
|
# # Comment afficher le mot avec les trous ?
|
||||||
|
# Docs :
|
||||||
|
# https://python.doctor/page-apprendre-listes-list-tableaux-tableaux-liste-array-python-cours-debutant
|
||||||
|
# Trouvez de la doc
|
||||||
|
#
|
||||||
|
# * Les fonctions
|
||||||
|
# # Servent à écrire du code une fois, et à pouvoir l'appeler quand on veut :
|
||||||
|
# def afficher_mot_a_trous(mot, lettres_manquantes):
|
||||||
|
# # ... Du code indenté ...
|
||||||
|
#
|
||||||
|
# # On peut maintenant appeler la fonction avec les paramètres qu'on veut
|
||||||
|
# afficher_mot_a_trous("pizza", [True, False, False, False, False])
|
||||||
|
# afficher_mot_a_trous("padakor", [True, False, True, False, True, True, True])
|
||||||
|
#
|
||||||
|
# * Un fichier de mots (fourni)
|
||||||
|
# Le fichier "02_mots_francais.txt" contient 22740 mots, donc des noms propres
|
||||||
|
# (qui commencent par une majuscule) et des mots d'une lettre.
|
||||||
|
# Il va falloir trier !
|
35
README.md
Normal file
35
README.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
# Exercices de programmation
|
||||||
|
|
||||||
|
Ces exercices en Python3 permettent d'apprendre progressivement les bases du langage, et de la programmation en général.
|
||||||
|
|
||||||
|
Il ne s'agit que de commentaires proposant un énoncé et autres instructions/sources de documentation dans des fichiers vides.
|
||||||
|
|
||||||
|
On peut par exemple copier ces fichiers dans un répertoire de travail, et commencer à les remplir. Il ne faut pas hésiter à créer ses propres fichiers pour essayer quelques bouts de code, sans s'embêter de l'exercice courant. On peut aussi utiliser l'interpréteur interactif de Python pour faire des tests en console :
|
||||||
|
|
||||||
|
$ python3 # Dans un terminal
|
||||||
|
[...]
|
||||||
|
>>> from random import randint
|
||||||
|
>>> randint(5)
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<stdin>", line 1, in <module>
|
||||||
|
TypeError: randint() missing 1 required positional argument: 'b'
|
||||||
|
>>> # Ah mince, il y a deux paramètres
|
||||||
|
>>> randint(5, 10)
|
||||||
|
6
|
||||||
|
>>> # quit(), exit() ou encore Ctrl-D pour quitter
|
||||||
|
|
||||||
|
Pour exécuter un fichier python, on ouvre un terminal, et on fait comme ça :
|
||||||
|
|
||||||
|
# D'abord, aller dans le répertoire du fichier python à exécuter
|
||||||
|
~ $ cd le/repertoire/du/fichier
|
||||||
|
# J'étais dans ~ (mon répertoire personnel, par exemple /home/adrien)
|
||||||
|
# Je vais donc me retrouver dans ~/le/repertoire/du/fichier
|
||||||
|
~/le/repertoire/du/fichier $ ls # Liste les fichiers
|
||||||
|
lama.jpg mon_code.py nul.jpg rien_a_faire.txt
|
||||||
|
# C'est le fichier mon_code.py qu'on veut exécuter
|
||||||
|
# On appelle python3, et on lui donne le nom du fichier en paramètre :
|
||||||
|
~/le/repertoire/du/fichier $ python3 mon_code.py
|
||||||
|
[...] # Le fichier s'exécute
|
||||||
|
# On peut aussi choisir de rendre le fichier exécutable pour le lancer différemment
|
||||||
|
~/le/repertoire/du/fichier $ chmod +x mon_code.py
|
||||||
|
~/le/repertoire/du/fichier $ ./mon_code.py
|
Loading…
Reference in a new issue