Я пытаюсь взять число, проверить, если оно короче, чем четыре цифры, и добавить цифры к нему, если это так. В конце он, наконец, вернет число в степень два. Это прекрасно работает, если я добавляю только положительное целое число, но я не хочу этого, потому что все возвращаемые числа заканчиваются одним и тем же числом. Я попытался добавить немного логики c, где он берет первую и последнюю цифры числа и добавляет его к нему каждый l oop, но затем он дает мне ошибку рекурсии, потому что она превышает максимум глубина рекурсии.
def func(seed):
length = len(str(seed))
if length < 4:
string = str(seed)
seed = int(string * 2 + '1') # the '1' can be any positive integer.
return func(seed)
return seed ** 2
for i in range(100):
print(func(i))
Если я должен был заменить '1'
на string[0]
, f'{seed - 2}'
или даже не положить туда ничего, он превысит максимальную глубину рекурсии. Я не понимаю этого, и мне было интересно, что происходит, что он делает это. Спасибо.