В Python, как я могу перебрать строку, разбивая ее в разных местах по ходу? - PullRequest
2 голосов
/ 07 июня 2011

Я пытаюсь написать быстрое решение для числа Капрекара, чтобы показать моему другу, как легко реализовать что-то подобное в Python. Я знаю, как сделать все шаги, кроме перебора квадратного числа в виде строки. Например, 45 - это число Капрекара, потому что

45 ** 2 = 2025 и 20 + 25 = 45

То, что я пытаюсь написать, - это код, который будет принимать результат 45 ** 2 = 2025 и позволять мне перебирать комбинации вроде

['2', '025']

['20', '25']

['202', '5']

Ответы [ 2 ]

7 голосов
/ 07 июня 2011
>>> s = '2025'
>>> for i in range(1, len(s)):
...   print s[:i], s[i:]
... 
2 025
20 25
202 5
1 голос
/ 07 июня 2011

Я проведу пару дополнительных дней в чистилище, чтобы ответить на математический вопрос, на который уже ответил Игнасио, но вы также можете поэкспериментировать с некоторым вариантом:

>>> a = 2025
>>> for i in range(1,4):
...     print a / 10**i, a % 10**i
... 
202 5
20 25
2 25
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...