Для решения, сперва решил генерировать строку длинна которой не превышает необходимую (исходя из полученных чисел), но код не справлялся даже с пяти/шестизначными значениями (т.е. обрабатывал ооочень долго). Потом решил отказаться от громоздкой строки и просто записывал длину числом (методом сложения длины строки каждой возведённый в степень 10ки).
def calculate_position(number): count = 0 sequence = 0 while sequence < int(number): x = 10 ** count sequence += int(len(str(x))) count += 1 answer = str(x)[sequence - int(number) + 1] return answer
Так как на том ресурсе питонщиков вообще почти нет, а на форуме гробовая тишина, как всегда ищу помощи тут.
Вопрос естественно не в решении задачи, а в возникшем интересе, как оптимизировать такие решения или чем их заменить.
