title: Python - Multiple errors
body: <p>I'm currently working on a little side project yet having multiple issues.
  I'm reading a file within the folder where the project is that holds data for 10 users. </p>
  
  <p>Right now, I'm getting this error : </p>
  
  <pre><code>Traceback (most recent call last):
    File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.2\helpers\pydev\pydevd.py", line 1668, in &lt;module&gt;
      main()
    File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.2\helpers\pydev\pydevd.py", line 1662, in main
      globals = debugger.run(setup['file'], None, None, is_module)
    File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.2\helpers\pydev\pydevd.py", line 1072, in run
      pydev_imports.execfile(file, globals, locals)  # execute the script
    File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.2\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
      exec(compile(contents+"\n", file, 'exec'), glob, loc)
    File "C:/Users/101136/PycharmProjects/tp2/TP2.py", line 133, in &lt;module&gt;
      main()
    File "C:/Users/101136/PycharmProjects/tp2/TP2.py", line 120, in main
      print("Pour la personne" , id_usager , ", nous recommandons l'ami" , recommander(id_usager, reseau, matrice_similarite))
    File "C:/Users/101136/PycharmProjects/tp2/TP2.py", line 91, in recommander
      usager_matrice = matrice_similarite.index(id_usager)
  AttributeError: 'NoneType' object has no attribute 'index'
  </code></pre>
  
  <p>As for the code itself... It's pretty big.</p>
  
  <pre><code>def ouvrir_fichier(nomFichier):
      """ Ne pas oublier les docstring
  
      """
      try:
          fp = open(nomFichier, 'r')
          return fp
      except:
          return print("Le fichier n'existe pas. Veuillez réessayer.")
  
  def lire_fichier(fp):
      """ Ne pas oublier les docstring"""
      # Lis n et initialise une liste vide --
      #    où il y a une liste vide pour chaque usager du réseau
      #    ensuite lis le reste du fichier et ajouter l'information à reseau
  
      liste1 = fp.readlines()
      n = int(liste1[0])
      liste2 = liste1[1:]
  
      reseau = [[] for i in range(n)]
      for i in liste2:
          i = i.replace("\n", "")
          data = i.split(" ")
          valeur1 = int(data[0])
          valeur2 = int(data[1])
          reseau[valeur1].append(valeur2)
          reseau[valeur2].append(valeur1)
      fp.close()
      return reseau
  
  def trouver_nombre_elements_communs_entre_listes(liste1, liste2):
      """ Ne pas oublier les docstring"""
      compteur_amis_commun = 0
      for element in liste1:
          if element in liste2:
              compteur_amis_commun = compteur_amis_commun + 1
      return compteur_amis_commun
  
  
  def initialiser_matrice(n):
      """
      Crée une matrice nxn, initialisée avec des zéros et retourne la matrice.
      Args:
          n (int): dimension de la matrice nxn
      Returns:
          matrice (list): matrice initialisée
  
      """
      matrice = []
      for ligne in range(n):  # pour chacune des lignes dans n
          matrice.append([])  # créer une ligne (liste) et l'initialiser à 0
          for colonne in range(n):
              matrice[ligne].append(0)  # ajouter un 0 pour chaque n colonne
      return matrice
  
  
  def calculer_scores_similarite(reseau):
      """ Ne pas oublier les docstring"""
      n = len(reseau)
      matrice_similarite = initialiser_matrice(n)
      liste1 = []
      liste2 = []
      compteur_liste1 = 0
      compteur_liste2 = 0
  
      for element_liste1 in reseau:
          liste1 = element_liste1
          for element_liste2 in reseau:
              liste2 = element_liste2
              compteur_amis_commun = trouver_nombre_elements_communs_entre_listes(liste1, liste2)
              matrice_similarite[compteur_liste1][compteur_liste2] = compteur_amis_commun
              compteur_liste2 = compteur_liste2 + 1
          compteur_liste1 = compteur_liste1 + 1
          compteur_liste2 = 0
  
      return matrice_similarite
  
  
  def recommander(id_usager,reseau,matrice_similarite):
      """ Ne pas oublier les docstring"""
  
      usager_matrice = matrice_similarite.index(id_usager)
      ami_recommande = matrice_similarite.index(max(usager_matrice))
      max_value = max(matrice_similarite.index(usager_matrice))
  
      if ami_recommande == id_usager:
          max_value = max_value - 1
  
      ami_recommande = matrice_similarite.index(max_value)
  
      while True:
          if ami_recommande == reseau.index(ami_recommande):
              ami_recommande = reseau.index(max_value, ami_recommande + 1)
              return True
  
      return ami_recommande
  
  def main():
  
      nomFichier = input("Nom du fichier contenant le réseau: ")
      reseau = lire_fichier(ouvrir_fichier(nomFichier))
      n = len(reseau)
      matrice_similarite = calculer_scores_similarite(reseau)
      while True:
  
          while True:
  
              id_usager = int(input("Entrer l'ID de l'usager pour lequel vous voulez une recommandation (entre 0 et {}):".format(n)))
              if 0 &lt;= id_usager and id_usager &lt; n:
                  calculer_scores_similarite(reseau)
                  print("Pour la personne" , id_usager , ", nous recommandons l'ami" , recommander(id_usager, reseau, matrice_similarite))
                  continue
              else:
                  print("Erreur: l'usager doit être un nombre entier entre ", 0, "et", n - 1, "inclusivement.\n")
  
          autreRecommandation = input("Voulez-vous une autre recommandation (oui/non)?")
          if autreRecommandation.lower() == "oui":
              return True
          else:
              print("Merci d'avoir utiliser le programme de recommandation d'amis.")
              break
  
  if __name__ == "__main__":
      main()
  </code></pre>
  
  <p>Most of the content seems to be working fine until I get to part where I need to recommend a user identification. I'll try to work on the doc string as well in the meantime but I could totally use a little bit of help as to debug this. I tested most of the code on another .py project until I hit the function "recommander"</p>
  
  <p>Thanks</p>
  
  <p>First Edit : </p>
  
  <p>I did forget to apply the Return. I changed it and it is now in the def. Now however... I seem to be having this error. </p>
  
  <pre><code>Traceback (most recent call last):
    File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.2\helpers\pydev\pydevd.py", line 1668, in &lt;module&gt;
      main()
    File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.2\helpers\pydev\pydevd.py", line 1662, in main
      globals = debugger.run(setup['file'], None, None, is_module)
    File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.2\helpers\pydev\pydevd.py", line 1072, in run
      pydev_imports.execfile(file, globals, locals)  # execute the script
    File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.2\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
      exec(compile(contents+"\n", file, 'exec'), glob, loc)
    File "C:/Users/101136/PycharmProjects/tp2/TP2.py", line 132, in &lt;module&gt;
      main()
    File "C:/Users/101136/PycharmProjects/tp2/TP2.py", line 119, in main
      print("Pour la personne" , id_usager , ", nous recommandons l'ami" , recommander(id_usager, reseau, matrice_similarite))
    File "C:/Users/101136/PycharmProjects/tp2/TP2.py", line 89, in recommander
      usager_matrice = matrice_similarite.index(id_usager)
  ValueError: 0 is not in list
  </code></pre>