2017-10-16 4 views
0

Je fais un système de connexion pour un quiz. Si l'utilisateur est déjà inscrit mais ne répond pas à un quiz, il devrait être capable de se connecter et de commencer le quiz même si ses informations de connexion sont au milieu. alors voici le csv: enter image description hereComment effacer la ligne entière dans un fichier CSV et déplacer les détails vers le bas?

et voici le code

`def login(): 
    found = 0 
    signed = 0 
    while found != True: 
     username = input("Please enter your username: ") 
     password = input("Please enter your password: ") 
     file=open("Data.csv","r") 
     for line in file: 
      details=line.split(",") 
      if details[0] == username and details[1] == password: 
       if details[4] == ('Teacher'): 
        signed = 2 #teacher log in 
        print('Teaacher login') 
       else: 
        if not details[11]: #row 11 is total score 
         signed = 1 #quiz not taken 
        else: 
         signed = 3 #quiz taken 
       found = True 
     if found == False: 
      print("Incorrect login details entered") 
    if signed == 3: 
     print('You have already taken a quiz') 
     quit() 
    if signed == 1: 
     #move all the details to the last line 
    return signed 

login() `

quand je me connecte comme Gre17 avec mot de passe azerty, le code doit déplacer ses détails.

moved puis de démarrer le quiz (ne vous inquiétez pas à ce sujet). quiz taken Comment faire pour que ces détails soient déplacés?

+0

N'utilisez pas 'str.split()' pour analyser CSV - CSV est plus compliqué que cela. Utilisez le module 'csv'. – Tomalak

+0

* "le code devrait déplacer ses coordonnées" * - Pourquoi? Quel problème résout-t-il pour se déplacer dans le CSV? – Tomalak

+0

bien s'il y a un moyen d'ajouter ses scores sans les déplacer vers le bas, alors comment? – 20PeterBread01

Répondre

0

Je pense qu'il vaut mieux utiliser une base de données comme mysql ou postgre pour cela.Mais si vous voulez le faire en utilisant csv, je pense que vous pouvez d'abord lire le fichier et stocker les détails dans une liste list = fichier.readlines() . Mettez à jour les valeurs de liste requises et écrivez la liste dans le fichier.