Я изучал Python и играл с Project Euler, чтобы восстановить некоторые из моих математических навыков. Я столкнулся с проблемой с Problem 35. Я создал все Primes менее 1 миллиона, исключил те, которые содержат любые четные числа, и теперь я просто пытаюсь запустить последнюю проверку с остальными ~ 3k простых чисел.Python: «For'loop работает только один раз, Project Euler
Эта функция должна:
- Возьмите список ~ 3k простых чисел.
- Верните новый список, состоящий из списков всех поворотов для каждого элемента в исходном списке.
Вот что у меня есть, с тем, как я понимаю каждую строку:
def rotations(lst):
newlist = []
for i in lst: # Take each int item in list.
s = [int(j) for j in str(i)] # Turn each item into a list of digit strings
num = ([s[k:]+s[:-len(s)+k] for k in range(len(s))]) # Generate list of rotations of strings
tmplst = []
for l in num: # For each string rotation
tmplst.append(int(''.join(map(str,l)))) # Turn it into an integer, add that int to tmplst
newlist.append(tmplst) # Add each tmplist to 'newlist'
return newlist
вводящих rotations([123,456])
только выходы:
[[123, 231, 312]]
Когда я ожидал
[[123, 231, 312],[456,564,645]]
Любой подсказывает, что может пойти не так?
Не удается воспроизвести, получил '[[123, 231, 312], [456, 564, 645]]'. –