Форум сайта python.su
Здравствуйте,
Вроде бы простой вопрос. Но что-то не пойму как записать.
Читаю записи из базы данных. СУБД вернула набор, я прохожу его построчно и вывожу на экран. Рядом хочу вывести цифру - номер строки и вывести только 5 первых строк:
cursor = db.cursor() try: cursor.execute(sql) data = cursor.fetchall() i = 0 for row in data: if i >= 5: # не пойму почему тут переменная всегда 0. Во всех языках программирования было по-другому же... break else: ++i
Офлайн
else: i += 1
[code python][/code]
Офлайн
i += 1
i = i + 1
Офлайн
for index, row in enumerate(data):
Офлайн
Не, это понятно, спасибо.
Просто в чем вопрос-то был: я перебираю список, как попутно инкрементировать переменную?
То есть у меня в данном коде, почему-то, переменная i = 0 всегда:
data = [] #СУБД вернула список ... for row in data: i = i + 1 print (str(i) + ". X=" + row['X'] + ", Y=" + row['Y']);
Отредактировано netvis (Ноя. 14, 2017 22:44:22)
Офлайн
JOHN_16Во, да, спасибо! Пока писал - ответили…
for index, row in enumerate(data):
Офлайн