Как проверить последовательность чисел в Питоне

Ivan @ 22 / 01 / 2021 @ Blog / ArchiCAD / BIM и CAD / Медиа / Памятки / Программирование / Уроки
( / / )

Время чтения: ~ 3 мин.

Потре­бо­ва­лось про­ве­рить после­до­ва­тель­ность чисел в таб­ли­це: надо было, что­бы они были после­до­ва­тель­ны (про­вер­ка рабо­ты про­шло­го скрип­та, на самом деле). То есть 001, 002, 003, 004… и так далее — что­бы най­ти стро­ки в таб­ли­це, где после­до­ва­тель­ность сби­ва­ет­ся. Таб­ли­ца боль­шая, боль­ше 1000 строк — отто­го про­ве­рять вруч­ную неудоб­но, и мож­но оши­бить­ся. Посколь­ку сре­да выпол­не­ния Пито­на у меня уже настро­е­на, решил, что самым быст­рым и про­стым реше­ни­ем будет напи­сать корот­кую про­грам­му на нем.

Подроб­нее — в роли­ке, текст про­грам­мы numberingTest​.py ниже.
Ещё про питон — см. в руб­ри­ке про­грам­ми­ро­ва­ние.

import os
import sys
import xlrd
# path to the excel xls file
excelFilePath = os.path.join(os.path.dirname(sys.argv[0]), "test.xls")  # change ***.xls with your file name
# END OF SETUP
if os.path.isfile(excelFilePath) is False:
    sys.exit("File does not exist: {}".format(excelFilePath))
xl_workbook = xlrd.open_workbook(excelFilePath)
xl_sheet = xl_workbook.sheet_by_index(0)
for row in range(0, xl_sheet.nrows):
    currentObjectMarker = (xl_sheet.cell_value(row, colx=0))
    previousObjectMarker = currentObjectMarker
    if row > 1: previousObjectMarker = (xl_sheet.cell_value(row - 1, colx=0))
    if abs(int(currentObjectMarker) - int(previousObjectMarker)) > 1:
        print("Overset at row ", row)

 


Может быть интересно:


Подпишитесь на нас в социальных сетях!

Instagram
VK
Facebook
YouTube!
Telegram!

Подпишитесь на обновления



* нажимая на кнопку «Подписаться», вы даете согласие на обработку своих персональных данных