Чтобы цикл не останавливался на правильном значении в списке - PullRequest
0 голосов
/ 30 января 2019

Эта функция извлекает всю информацию из CSV-файла и копирует ее в список с именем lines.Затем он должен выполнить поиск в базе данных (которая содержит информацию об учетной записи) и найти правильное имя пользователя и пароль.

Однако в настоящее время моей программе не удается найти username и password в lines, и вместо этого печатает запись в конце базы данных.Любые идеи, почему это происходит?

def Changer(user_information, weight):
    r = csv.reader(open('AccountsTest.csv'))
    username = user_information[0][0]
    password = user_information[0][1]
    lines = list(r)
    for n, line in enumerate(lines):
        if [username, password] == list(line):
            break
    print (lines[n])

Когда я print username and password, выводится 'dom' (что правильно).Тем не менее, когда я print (lines[n]), конечная запись внутри CSV-файла выводится, когда я хочу, чтобы он вывел запись 'dom'.

Структура моего CSV-файла следующая:

username, password, weight, goal, workout

В этом примере важны только первые два (username и password)

Запись из файла CSV, которую я пытаюсь скопировать, выглядит следующим образом

[['dom', 'dom', '70', 'strong'],[['Bench Press', 'Chest Press Machine', 'Incline Chest Press Machine', 'Incline Bench Press'],['test', 'test']]]

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Вы сравниваете список из двух элементов [username, password] со списком из пяти элементов [username, password, goal, weight, workout].Попробуйте

if [username, password] == line[:2] 

, чтобы вырезать имя пользователя и пароль из списка

0 голосов
/ 30 января 2019

Похоже, список (строка) никогда не равняется [имя пользователя, пароль].Не могу найти ничего подозрительного в вашем коде.

Несколько вещей, которые, я думаю, вы должны проверить:

  1. Убедитесь, что ваши списки имеют ту же длину, что и вы.
  2. Убедитесь, что ваша «БД» действительно записана в том же порядке, в котором вы проверили [имя пользователя, пароль].
  3. Убедитесь, что данные информации о пользователе верны.

GL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...