Я пытаюсь проверить палиндром с помощью Python. Код, который у меня есть, очень for
-loop интенсивно.
И мне кажется, что самая большая ошибка, которую люди совершают при переходе с C на Python, пытается реализовать логику C с использованием Python, что заставляет вещи работать медленно, и это просто не делает большую часть языка.
Я вижу на этом сайте. Найдите "C-style for", что Python не имеет C-стиля для циклов. Может быть устаревшим, но я интерпретирую его как означающий, что у Python есть свои методы для этого.
Я пробовал оглядываться, я не могу найти много актуальных (Python 3) советов для этого. Как я могу решить задачу палиндрома в Python, не используя цикл for?
Я сделал это в классе C, но я хочу сделать это на Python на личной основе. Проблема заключается в проекте Эйлера, отличный сайт. Кстати,
def isPalindrome(n):
lst = [int(n) for n in str(n)]
l=len(lst)
if l==0 || l==1:
return True
elif len(lst)%2==0:
for k in range (l)
#####
else:
while (k<=((l-1)/2)):
if (list[]):
#####
for i in range (999, 100, -1):
for j in range (999,100, -1):
if isPalindrome(i*j):
print(i*j)
break
Мне здесь не хватает кода. Пять хэшей - это только напоминания для себя.
Конкретные вопросы:
-
В C я бы сделал цикл for, сравнивающий индекс 0 с индексом max, а затем индекс 0 + 1 с max-1, пока что-то не получится. Как лучше всего сделать это в Python?
-
Мой цикл for (в диапазоне (999, 100, -1), это плохой способ сделать это на Python?
-
Есть ли у кого-нибудь хорошие советы или хорошие сайты или ресурсы для людей на моем месте? Я не программист, я не стремлюсь быть одним, я просто хочу учиться достаточно, чтобы, когда я писал диплом бакалавра (электротехника), мне не нужно одновременно изучать применимый язык программирования при попытке для получения хороших результатов в проекте. "Как перейти от базового C к большому приложению Python", такого рода вещи.
-
Также будут оценены любые конкретные биты кода, чтобы сделать отличное решение этой проблемы, мне нужно изучить хорошие алгоритмы. Я предвижу 3 ситуации. Если значение равно нулю или одной цифре, если оно имеет нечетную длину, и если оно имеет четную длину. Я планировал писать для циклов...
PS: Проблема заключается в следующем: найдите продукт с наивысшим значением из двух трехзначных целых чисел, который также является палиндром.