import numpy as np
import matplotlib.pyplot as plt

### Pour 1 seule particule

def pos1(K):
    # Entrée : K : nombre de pas de temps
    # Sortie : x : ???
    
    x=np.zeros(K)
    for i in range(1,K):
        x[i]=x[i-1]+np.random.choice([-1,1])
    return x

### Pour N particules

def posN(K,N):
    # Entrée : K : nombre de pas de temps
    # Entrée : N : nombre de particules
    # Sortie : tab_x : tableau à 2 dimensions des positions des N particules
    # (1 particule par ligne)
    
    tab_x=#Instruction 1.1
    for i in range(#Instruction 1.2):
        #Instruction 1.3
    return tab_x

### Histogrammes

#Instruction 2
# xf=#Instruction 3

#Intruction 4.1
#Instruction 4.2
#Instruction 4.3
#Instruction 4.4
# plt.show()


### Caracterisation de l'etalement des particules

# k_list=np.linspace(0,K-1,100)   # Liste des pas de temps pour le trace graphique
# # Calcul de la liste des moyennes et des ecarts-types
# moy_list=[]
# ecart_type_list=[]
# for k in k_list:
#     moy_list.append(np.mean(tabx[:,int(k)]))
#     ecart_type_list.append(np.std(tabx[:,int(k)]))

# plt.subplot(2,1,1)
# plt.plot(k_list,moy_list)
# plt.title('Position moyenne pour '+str(N)+' particules')
# plt.xlabel('Numero du pas de temps')
# plt.ylabel('Position')
# plt.grid()
# plt.subplot(2,1,2)
# plt.plot(k_list,ecart_type_list)
# plt.title('Ecart-type pour '+str(N)+' particules')
# plt.xlabel('Numero du pas de temps')
# plt.ylabel('Ecart-type')
# plt.grid()
# plt.tight_layout()
# plt.show()

#Intruction 5.1
#Instruction 5.2
#Instruction 5.3
#Instruction 5.4
# plt.show()