Остальное утверждение всегда выполняется - PullRequest
0 голосов
/ 18 декабря 2018

Моя функция всегда выполняет оператор else, даже если она явно удовлетворяет условию if.Ответом является text.get (), возвращаемое из текстового поля tkinter.

def A1Next(Answer):
    print(Answer)
    Answer = str(Answer)
    if Answer == str('print("Hello World!")') or Answer == str("print('Hello World!')"):
        print("Correct")
    else:
        print("Incorrect")

Редактировать: Ниже приведен сегмент кода, который передает функцию, пользователь отвечает на вопрос «Что такое команда для печати» HelloМир!'в питоне 3.4.4? "

Q1Title = ttk.Label(Quframe, text = "Question 1", font = ('Helvetica', 10, 'bold'))
Q1Title.grid(row = 0, column = 1, columnspan = 3, stick = 'nsew', padx = 10, pady = 10)
Q1Label = ttk.Label(Quframe, text = "What is the command to print 'Hello World!' in python 3.4.4?", font = ('Helvetica', 10, 'bold')) ##Question user must answer
Q1Label.grid(row = 1, column = 1, columnspan = 3, stick = 'nsew', padx = 10, pady = 10)
# Text box in Window 1
Q1Instructlabel = ttk.Label(Resframe, text = "Enter response below", font = ('Helvetica', 10, 'bold'))
Q1Instructlabel.grid(row = 0, column = 0, columnspan = 3, stick = 'nesw', padx = 10, pady = 10)
Answer1 = Text(Resframe, width = 40, height = 10)
Answer1.grid(row = 1, column = 1, columnspan = 3, stick = 'nsew', padx = 10, pady = 10)
Quitbutton = ttk.Button(Menuframe, text = "Cancel", command = lambda: Window1.destroy()) #Back and next buttons
Quitbutton.grid(row = 0, column = 1, columnspan = 1, stick = 'nsew', padx = 10, pady = 10)
Nextbutton = ttk.Button(Menuframe, text = "Next", command = lambda: A1Next(Answer1.get("1.0", "end"))) #Passes Info to function
Nextbutton.grid(row = 0, column = 3, columnspan = 1, stick = 'nsew', padx = 10, pady = 10)

1 Ответ

0 голосов
/ 30 декабря 2018

Answer1.get("1.0", "end") вернет значение, оканчивающееся новой строкой.Значения, которые вы сравниваете, не заканчиваются символом новой строки, поэтому сравнение всегда будет неудачным.

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