# data[].attributes.attachment_link.readable_text
import random
import time

pierre=1
papier=2
ciseaux=3

score_joueur=0
score_ordinateur=0

noms={pierre:"Caillou",papier:"Papier",ciseaux:"Ciseaux"} #On associe à caillou (valeur 1) le nom "Caillou" 
regles={pierre:ciseaux,papier:pierre,ciseaux:papier} #On associe à caillou (valeur 1) ciseaux (valeur 3), le 1 gagne contre le 3...

def start():
  print("Démarrons une partie de Pierre, Papier, Ciseaux !")
  while game():
    pass
  scores() #Fonction qui permettra de gérer les scores : du joueur et de l'ordinateur
    
    
def game():
    global score_joueur,score_ordinateur
    
    joueur=int(input("Pierre : tapez 1, Papier : tapez 2, Ciseaux : tapez 3\n"))
    print()
    ordinateur=random.randint(1,3)
    print("1...")
    time.sleep(1)
    print("2...")
    time.sleep(1)
    print("3...")
    time.sleep(1)
    
    print("L'ordinateur a choisi :",noms[ordinateur])
    
    if joueur==ordinateur:
        print("Egalité")
    else:
        if regles[joueur]==ordinateur:
            print("Vous avez gagné bravo, vous gagnez 1 point !")
            score_joueur+=1
            scores()
        else:
            print("Vous avez perdu, vous perdez 1 point !")
            score_ordinateur-=1
            scores()
            
    return joue_encore()

def joue_encore():#Fonction qui permet de proposer de poursuivre la partie
    reponse=input("Voulez-vous rejouer ? (o/n) :")
    if reponse in ["o","O","Oui","OUI","oui","Bien sûr!"]:
        return reponse
    else:
        print("Merci d'avoir joué avec nous, à très bientôt !")
        
def scores():#Fonction qui permet de gérer le score du joueur
    global score_joueur,score_ordinateur
    print(f"Votre score est de :",score_joueur)
    print(f"Le score de l'ordinateur est de :",score_ordinateur)
    
    

start()

# data[].attributes.attachment_link.readable_text
import random
import time

joueur_score=0



def start():#Fonction qui permet de jouer autant que l'on veut sur une même partie et de gérer le score
    print("Jouons au jeu du pendu !")
    while game():
        pass
    score()

def valide(liste_lettre,lettre):#Fonction qui permet de gérer les lettres déjà utilisées
    while lettre in liste_lettre:
        print("1...")
        time.sleep(1)
        print("2...")
        time.sleep(1)
        print("3...")
        time.sleep(1)
        lettre=input("Déjà prise, entrez une nouvelle lettre de l'alphabet :")
        
    liste_lettre+=lettre
    return(liste_lettre)
    
def game():#Fonction principale du jeu
    #f = open("dico.txt","r")
    #ligne=f.readlines()
    #f.close()  
    global joueur_score

    ligne=["serge","mayssa","jade","raymond","ryan","marc","daniel","ali","raja"]
    mot=random.choice(ligne)

    mot_complete=[]

    for i in range(len(mot)):
        mot_complete.append(" - ")

    print(mot)
    print("".join(mot_complete))
    
    capital=6
    liste_lettre=""
    
    while "".join(mot_complete).find(" - ")!=-1 and capital!=0:         
      lettre=input("Entrez une lettre de l'alphabet :")
      lettre=lettre.lower()
      print(lettre)
        
      liste_lettre=valide(liste_lettre,lettre)
      print("1...")
      time.sleep(1)
      print("2...")
      time.sleep(1)
      print("3...")
      time.sleep(1)
      print()
        
        
      if mot.find(lettre)==-1 :
        capital-=1
        print("Désolé, cette lettre n'apparaît pas dans le mot, vous devez en proposer une autre :")
      else:
        print("Bravo, cette lettre est bien dans le mot cherché !")
            
        for i in range(len(mot)):
          if lettre==mot[i]:
            mot_complete[i]=lettre
            print("".join(mot_complete))    
            print(capital)


    if "".join(mot_complete).find(" - ")==-1:
        print("Bravo tu as gagné !")
        joueur_score+=capital
        print("Tu gagnes un total de points de :",capital)
        print("Tu marques un total de point de :",joueur_score)
    else:
        print("Tu as malheureusement échoué..")
        joueur_score-=6
        print("Tu perds un total de points de 6 points")
        print("Ton score est maintenant de :",joueur_score)
        print("Le mot cherché était :",mot)
    
    return joue_encore()
              

def joue_encore():#Fonction qui permet de proposer de poursuivre la partie
    reponse=input("Voulez-vous rejouer ? (o/n) :")
    if reponse in ["o","O","Oui","OUI","oui","Bien sûr!"]:
        return reponse
    else:
        print("Merci d'avoir joué avec nous, à très bientôt !")
        
def score():#Fonction qui permet de gérer le score du joueur
    global joueur_score
    print(f"Votre score est de :",joueur_score)
    


start()


# data[].attributes.headline
Sujet POO et le principe d'encapsulation 

# data[].attributes.subject
Sujet POO et le principe d'encapsulation 

# data[].attributes.attachment_link.description
Build and deploy software collaboratively with the power of AI without spending a second on setup.

# data[].attributes.attachment_link.description
Python in the browser. No installation required.

# data[].attributes.attachment_link.readable_text
Python Tutor helps you do programming homework assignments in Python, Java, C, C++, and JavaScript. It contains a unique step-by-step visual debugger and AI tutor to help you understand and debug code.

Since 2010, over 15 million people in more than 180 countries have used Python Tutor to visualize over 200 million pieces of code. It is the most widely-used program visualization tool for CS education.

As a preview, here is a small example showing recursion in Python:

Here are some examples of how it visualizes Java, C, and C++ code:

# data[].attributes.attachment_link.title
Online Python Tutor - visualize, debug, get AI help for Python, Java, C, C++, and JavaScript

# data[].attributes.attachment_link.description
Python Tutor helps you do programming homework assignments in Python, Java, C, C++, and JavaScript. It contains a unique step-by-step visual debugger and AI tutor to help you understand and debug code. Since 2010, over 15 million people in more than 180 countries have used Python Tutor to visualize over 200 million pieces of code.

# data[].attributes.attachment_link.description
Testez en ligne toutes les fonctionnalités de la calculatrice NumWorks pour mieux la comprendre et pour faire des démonstrations en classe.

# data[].attributes.attachment_link.description
GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and features, power your CI/CD and DevOps workflows, and secure code before you commit it.

# data[].attributes.headline
TOUT LES CONTRÔLES DE NSI!!! De  L'autre groupes 

# data[].attributes.subject
TOUT LES CONTRÔLES DE NSI!!! De  L'autre groupes 

# data[].attributes.headline
Projet 4  Enquête policière Sujet + Mon projet (Réponse en capture d’écran )

# data[].attributes.subject
Projet 4  Enquête policière Sujet + Mon projet (Réponse en capture d’écran )

# data[].attributes.attachment_link.title
GL T-1 Yasmine BEYDOUN - Enquete policiere a resoudre avec les requetes SQL

# data[].attributes.body
https://correction-pratique-nsi.000webhostapp.com/sujet5.html#

# data[].attributes.headline
Chapitre 7: Base de donnees relationnelles

# data[].attributes.subject
Chapitre 7: Base de donnees relationnelles

# data[].attributes.headline
Chapitre 6: Programmation Orientée Objet POO 

# data[].attributes.subject
Chapitre 6: Programmation Orientée Objet POO 

# data[].attributes.body
Grp 2

# data[].attributes.body
Grp 1- 2

# data[].attributes.attachment_link.description
Python in the browser. No installation required.

# data[].attributes.attachment_link.description
Python in the browser. No installation required.

# data[].attributes.attachment_link.description
Python in the browser. No installation required.

# data[].attributes.attachment_link.title
GL T-1 Yasmine BEYDOUN - Projet n°1 - Turtle et art contemporain

# data[].attributes.body
Demande le prof !

# data[].attributes.attachment_link.title
Chapitre 4 La structure de données Points

# data[].attributes.attachment_link.description
Python in the browser. No installation required.

# data[].attributes.body
Grp 1- 2

# data[].attributes.headline
Chapitre 5: Type abstraits Les Piles, les files et les listes 

# data[].attributes.subject
Chapitre 5: Type abstraits Les Piles, les files et les listes 

# data[].attributes.headline
CHAPITRE 4  : STRUCTURE DE DONNÉES - INTERFACE ET IMPLÉMENTATION🎠🌠🌸

# data[].attributes.subject
CHAPITRE 4  : STRUCTURE DE DONNÉES - INTERFACE ET IMPLÉMENTATION🎠🌠🌸

# data[].attributes.headline
CORRECTION: RÉVISION SUR LA RÉCURSIVITÉ 

# data[].attributes.subject
CORRECTION: RÉVISION SUR LA RÉCURSIVITÉ 

# data[].attributes.headline
SUJET : Chap 2 - Mise au point des programmes

# data[].attributes.subject
SUJET : Chap 2 - Mise au point des programmes

# data[].attributes.headline
CORRECTION de qlq ex de la fonct récursives 

# data[].attributes.subject
CORRECTION de qlq ex de la fonct récursives 