Я пытаюсь создать часы в системе, которые пользователь вводит ключ, и сравнивает его с базой данных sqlite.Сравнение кортежей с ints
Проблема, с которой я столкнулся, заключается в сравнении ключа, введенного с тем, который был введен в базу данных. Я предполагаю, что это потому, что sqlite-запрос возвращает кортеж. Я подумал, что положить его в цикл for разобрал бы. Хотя они совпадают, они возвращаются как ложные.
import sqlite3 as lite
conn = lite.connect('attendance.db')
c = conn.cursor()
r = raw_input('Awaiting Key: ')
keyCode = str(int(r))
q = c.execute("SELECT key FROM employees WHERE key = '%s'") % keyCode
for i in q:
if i == r:
print 'open'
else:
print 'closed'
Этот код не имеет смысла, вы пытаетесь '' 'форматировать * значение, возвращаемое *' c.execute', а не его аргумент. Кроме того, вы не должны создавать SQL-запросы с помощью интерполяции строк. – jonrsharpe