Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #import des modules utile pour le programme
- import random
- import numpy as np
- #déclaration des variables
- liste_coup=[0]
- coup_adverse=""
- valeur_coup=0
- liste_coup_machine=[]
- liste_coup_adverse=[]
- partie={"défaites":0,"victoires":0,"égalités":0}
- #attribution du premier coup aléatoirement
- coup_machine=random.choice(["pierre","feuille","ciseaux"])
- #boucle pour n itérations
- for i in range(100):
- #entré du coup de l'adversaire
- coup_adverse=input()
- #attribution des point pour les stats
- if coup_adverse==coup_machine:
- partie["égalités"]+=1
- elif coup_adverse=="ciseaux":
- if coup_machine=="feuille":
- partie["défaites"]+=1
- else:
- partie["victoires"]+=1
- elif coup_adverse=="feuille":
- if coup_machine=="pierre":
- partie["défaites"]+=1
- else:
- partie["victoires"]+=1
- elif coup_adverse=="pierre":
- if coup_machine=="ciseaux":
- partie["défaites"]+=1
- else:
- partie["victoires"]+=1
- #ajout à la liste des coup de la personne le coup quelle viens de jouer
- if coup_adverse == "ciseaux":
- liste_coup.append(liste_coup[-1] + 3)
- elif coup_adverse =="pierre":
- liste_coup.append(liste_coup[-1] + 1)
- else:
- liste_coup.append(liste_coup[-1] + 2)
- liste_coup_adverse.append(coup_adverse)
- #programme de régression linéaire qui renvoie la valeur du coup à jouer
- index = []
- total = 0
- nouveau_coup = 0
- for i in range(len(liste_coup)):
- index.append(i)
- coeff = np.polyfit(index, liste_coup, 1)
- f = np.poly1d(coeff)
- total = liste_coup[-1]
- nouveau_coup = f(len(liste_coup))
- valeur_coup=int(round(nouveau_coup - total))
- #attribution du coup en fonction de sa valeur
- if int(valeur_coup)==1:
- coup_machine="feuille"
- elif int(valeur_coup)==2:
- coup_machine="ciseaux"
- else:
- coup_machine="pierre"
- liste_coup_machine.append(coup_machine)
- #réinisialisation de la variable coup_adverse en vue de la boucle itérative
- coup_adverse=""
- #affichage des données de la partie
- print(partie)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement