SHARE
TWEET

PFC-maxime

a guest Nov 12th, 2019 67 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #import des modules utile pour le programme
  2. import random
  3. import numpy as np
  4.  
  5.  
  6. #déclaration des variables
  7. liste_coup=[0]
  8. coup_adverse=""
  9. valeur_coup=0
  10. liste_coup_machine=[]
  11. liste_coup_adverse=[]
  12. partie={"défaites":0,"victoires":0,"égalités":0}
  13.  
  14. #attribution du premier coup aléatoirement
  15. coup_machine=random.choice(["pierre","feuille","ciseaux"])
  16.  
  17. #boucle pour n itérations
  18. for i in range(100):
  19.     #entré du coup de l'adversaire
  20.     coup_adverse=input()
  21.  
  22.     #attribution des point pour les stats
  23.     if coup_adverse==coup_machine:
  24.         partie["égalités"]+=1
  25.     elif coup_adverse=="ciseaux":
  26.             if coup_machine=="feuille":
  27.                 partie["défaites"]+=1
  28.             else:
  29.                 partie["victoires"]+=1
  30.     elif coup_adverse=="feuille":
  31.             if coup_machine=="pierre":
  32.                 partie["défaites"]+=1
  33.             else:
  34.                 partie["victoires"]+=1
  35.     elif coup_adverse=="pierre":
  36.             if coup_machine=="ciseaux":
  37.                 partie["défaites"]+=1
  38.             else:
  39.                 partie["victoires"]+=1
  40.  
  41.  
  42.     #ajout à la liste des coup de la personne le coup quelle viens de jouer
  43.     if coup_adverse == "ciseaux":
  44.         liste_coup.append(liste_coup[-1] + 3)
  45.     elif coup_adverse =="pierre":
  46.         liste_coup.append(liste_coup[-1] + 1)
  47.     else:
  48.         liste_coup.append(liste_coup[-1] + 2)
  49.     liste_coup_adverse.append(coup_adverse)
  50.  
  51.     #programme de régression linéaire qui renvoie la valeur du coup à jouer
  52.     index = []
  53.     total = 0
  54.     nouveau_coup = 0
  55.     for i in range(len(liste_coup)):
  56.         index.append(i)
  57.     coeff = np.polyfit(index, liste_coup, 1)
  58.     f = np.poly1d(coeff)
  59.     total = liste_coup[-1]
  60.     nouveau_coup = f(len(liste_coup))
  61.     valeur_coup=int(round(nouveau_coup - total))
  62.  
  63.     #attribution du coup en fonction de sa valeur
  64.     if int(valeur_coup)==1:
  65.         coup_machine="feuille"
  66.     elif int(valeur_coup)==2:
  67.         coup_machine="ciseaux"
  68.     else:
  69.         coup_machine="pierre"
  70.     liste_coup_machine.append(coup_machine)
  71.     #réinisialisation de la variable coup_adverse en vue de la boucle itérative
  72.     coup_adverse=""
  73. #affichage des données de la partie
  74. print(partie)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top