Моя функция всегда выполняет оператор 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)