Outils pour utilisateurs

Outils du site


start:preparationpython:progtest

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
start:preparationpython:progtest [2025/03/09 17:22] – [Comment créer un générateur de mot de passe simple en Python] adminstart:preparationpython:progtest [2025/03/09 19:23] (Version actuelle) – [Programmes Python3 de tests] admin
Ligne 2: Ligne 2:
  
 Programme python proposé par Xavier Programme python proposé par Xavier
 +
 {{ :start:preparation:menu_prenom_option_devinette_calculette_0000.py.zip |}} {{ :start:preparation:menu_prenom_option_devinette_calculette_0000.py.zip |}}
 +
 +{{ :start:preparationpython:ballerouge_deplace_001_xavier.py.zip |GF_pion_deplacement_0001.py.zip}}
 +
 +{{ :start:preparationpython:gf_chutes_et_rebond_000.py.zip |}}
  
  
Ligne 549: Ligne 554:
  
  
-====Python 3.9 possède 36 mots réservés.====+====Python 3 possède 35 mots réservés.==== 
 + 
 + 
 +<note>Le nombre de mots cles peut varier en fonction de la version de python3</note> 
 + 
 +<note important>**On ne peut pas nommer une variable avec un mot réservé (levée d'une erreur).**</note>
  
-On ne peut pas nommer une variable avec un mot réservé (levée d'une erreur). 
  
 ma_var = 2300 ma_var = 2300
Ligne 577: Ligne 586:
  
 ==nombre de mots-clés =  35== ==nombre de mots-clés =  35==
 +
 +<code python exe003.py>
 ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
 +</code>
  
  
Ligne 617: Ligne 629:
 import random import random
 import string import string
 +     
 def generate_password(length): def generate_password(length):
-    """This function generates a random password +    """Cette fonction génère un mot de passe aléatoire 
-    of a given length using a combination of +    d'une longueur donnée en utilisant une combinaison de 
-    uppercase letterslowercase letters+    lettres majusculesde lettres minuscules
-    digits, and special characters""" +    de chiffres et de caractères spéciaux""" 
-     +      
-    # Define a string containing all possible characters+    #Define a string containing all possible characters
     all_chars = string.ascii_letters + string.digits + string.punctuation     all_chars = string.ascii_letters + string.digits + string.punctuation
-    +     
     # Generate a password using a random selection of characters     # Generate a password using a random selection of characters
     password = "".join(random.choice(all_chars) for i in range(length))     password = "".join(random.choice(all_chars) for i in range(length))
-     
-    return password 
  
-# Test the function by generating a password of length 10 +    return password 
-password = generate_password(10)+      
 +# Test the function by generating a password of length 16 
 +password = generate_password(16)
 print(password) print(password)
- 
 </code> </code>
  
Ligne 644: Ligne 655:
     *À l'intérieur de la fonction, nous définissons une chaîne appelée all_chars qui contient tous les caractères possibles pouvant être utilisés pour générer le mot de passe. Nous utilisons les constantes string.ascii_letters, string.digits et string.uccion pour créer cette chaîne.     *À l'intérieur de la fonction, nous définissons une chaîne appelée all_chars qui contient tous les caractères possibles pouvant être utilisés pour générer le mot de passe. Nous utilisons les constantes string.ascii_letters, string.digits et string.uccion pour créer cette chaîne.
     *Nous utilisons ensuite la compréhension de liste pour générer une liste de caractères aléatoires length à partir de la chaîne all_chars en utilisant la fonction random.choice(). Enfin, nous joignons ces caractères en une seule chaîne à l'aide de la fonction "".join() et renvoyons le résultat.     *Nous utilisons ensuite la compréhension de liste pour générer une liste de caractères aléatoires length à partir de la chaîne all_chars en utilisant la fonction random.choice(). Enfin, nous joignons ces caractères en une seule chaîne à l'aide de la fonction "".join() et renvoyons le résultat.
-    *Pour tester la fonction, nous l'appelons avec un argument de 10 pour générer un mot de passe de longueur 10 et imprimer le résultat.+    *Pour tester la fonction, nous l'appelons avec un argument de 16 pour générer un mot de passe de longueur 16 et imprimer le résultat.
  
 Notez qu'il s'agit d'un générateur de mot de passe très simple et qu'il peut ne pas convenir à une utilisation dans des scénarios réels où la sécurité est une préoccupation. Notez qu'il s'agit d'un générateur de mot de passe très simple et qu'il peut ne pas convenir à une utilisation dans des scénarios réels où la sécurité est une préoccupation.
  
 +==== Pierre Papier Ciseaux ====
  
 +Le programme demande à l’utilisateur d’effectuer le premier coup avant d’effectuer un coup. Une fois le coup validé, l’entrée est évaluée, l’entrée saisie pouvant être une chaîne de caractères, une lettre ou un nombre. Après évaluation de la chaîne de caractères, la fonction de résultat détermine le gagnant et la fonction de comptabilisation des points actualise le score total.
 +
 +Pour créer le jeu pierre-papier-ciseaux ou chifoumi, implémentez la logique de base (pierre bat ciseaux, papier bat pierre, ciseaux bat papier) puis demandez un input clavier. L’ordinateur choisit un coup au hasard avec une fonction du package random, pour finir affichez qui a gagné la partie.
 +
 +Créer un pierre-papier-ciseaux est un bon exercice pour vous entraîner en Python et réaliser vos premiers projets.
 +
 +En codant un pierre-papier-ciseaux, vous apprendrez à créer :
 +
 +    -une fonction qui génère de l’aléatoire : pierre, papier ou ciseaux
 +    -une fonction pour vérifier et valider le coup qui vient d’être joué
 +    -une fonction de résultat pour déclarer le vainqueur du tour
 +    -un compteur de points pour suivre le score total
 +
 +
 +
 +<code python exe004.py>
 +import random
 +
 +manches = int(input("Combien de manches voulez-vous jouer ? "))
 +
 +score_joueur = 0
 +score_ordi = 0
 +
 +options = ["pierre", "papier", "ciseaux"]
 +
 +while score_joueur < manches and score_ordi < manches:
 +  choix_joueur = input("Que jouez vous ? Tapez 'pierre', 'papier' ou 'ciseaux' ")
 +
 +  while choix_joueur not in options:
 +    input("Choix invalide ! Choisissez pierre, papier ou ciseaux (sans les guillemets)")
 +
 +  choix_ordi = random.choice(options)
 +
 +  if choix_joueur == choix_ordi:
 +    print("Égalité. Relancez le script pour rejouer")
 +  elif choix_joueur == "pierre" and choix_ordi == "ciseaux" \
 +  or choix_joueur == "papier" and choix_ordi == "pierre" \
 +  or choix_joueur == "ciseaux" and choix_ordi == "papier":
 +    print("Vous remportez la manche,", choix_joueur, "bat" , choix_ordi)
 +    score_joueur += 1
 +  else:
 +    print("L'ordinateur gagne la manche," , choix_ordi, "bat" , choix_joueur)
 +    score_ordi += 1
 +
 +if score_joueur == manche:
 +  print("Vous avez gagné la partie !")
 +else:
 +  print("L'ordinateur gagne :(")
 +</code>
  
  
/home/chanteri/www/fablab37110/data/attic/start/preparationpython/progtest.1741537353.txt.gz · Dernière modification : 2025/03/09 17:22 de admin