В Python (включая Sqlite) извлечение информации из базы данных с использованием ее в качестве переменной и ее использование - PullRequest
0 голосов
/ 04 марта 2019

Так что у меня возникла проблема с этим фрагментом кода.База данных не является проблемой и полностью заполнена.Теперь предполагается вызвать консоль / командную строку, где я могу затем вводить информацию по мере необходимости.Например, вопрос в базе данных вопросов:

«В течение последних двух недель у вас были симптомы гриппа?»

В настоящее время этот фрагмент кода не 'я ничего не знаю, и я довольно новичок в программировании на python, когда я перешел из словаря вопросов, а затем добавил их в базу данных и попытался извлечь их из базы данных.Я знаю, что проблема в первых строках кода, так как при запуске из словаря код работал ранее.

# Question1

    conn.execute("SELECT question from question WHERE questionID = '1'")
    question1 = conn.fetchone()

    # print the question

    print (question1())

    # use the question 1 choices to get an answer

    answer = input(question1.get()).lower()

Здесь нет вопросов, в которые я не верю.

    if answer == question1.get(answer):



        c = conn.execute("SELECT illnessID, Illness, illnessinfo from illnesses WHERE illness = 'Flu'")



        for row in c:

            print( "Illness Identifier = ", row[0])

            print( "Suspected Illness= ", row[1])

            print( "Displayed Symptom = ", row[2])

            print("Thanks this has been recorded.")

            ident = ident + " - " + row[1]



        c = conn.execute("SELECT drugID, drug from drugs WHERE drug = 'Flu injection'")

        for row in c:   

            print( "Drug = ", row[0])

            print( "Drug = ", row[1])

            pescr = pescr + " - " + row[1]

            print(ident)

            print(pescr)

            print("\n")

    else:

        print("Okay Next question.")

Ниже приведен пример базы данных для конкретного вопроса

    c.execute("INSERT OR IGNORE INTO question(questionID, question) VALUES(1,'Over the last two weeks have you have symptoms of the flu?')")


c.execute("INSERT OR IGNORE INTO choices (choicesID, choices) VALUES(1,'Yes')")
c.execute("INSERT OR IGNORE INTO choices (choicesID, choices) VALUES(2,'No')")


c.execute("INSERT OR IGNORE INTO answer (answerID, answer) VALUES(1,'Yes')")
c.execute("INSERT OR IGNORE INTO answer (answerID, answer) VALUES(2,'No')")

1 Ответ

0 голосов
/ 04 марта 2019

Я думаю, print (question1()) следует заменить на print (question1)

вопрос 1 должен содержать кортеж, который нельзя вызвать.

Но это должно было привести к ошибке ...

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