【发布时间】:2016-11-18 10:29:24
【问题描述】:
我想吐出一个回文列表,直到我给出某个字母。
关于这部分:
def pyramid_palindrome(last_letter):
for letter in range(97,last_letter):
last_letter = last_letter - (last_letter-1)
print call_first_part_palindrome(last_letter)
print call_second_part_palindrome(last_letter)
我想要的是,这样做:
a
aba
abcba
abcdcba
abcdedcba
abcdefedbca
abcdefgfedcba
abcdefghgfedcba
....
我是这样想的:
“我会给出最后一个字母作为输入,它会不断迭代 回文直到最后一个字母被检查。”
问题是我无法将回文一个一个吐出来,像金字塔一样向上爬。有人可以指出我正确的方向吗?
当我说我需要在第一个使用
for loop时,我是对的吗 功能?
这是我的完整代码:
def pyramid_palindrome(last_letter):
for letter in range(97,last_letter):
last_letter = last_letter - (last_letter-1)
print call_first_part_palindrome(last_letter)
print call_second_part_palindrome(last_letter)
def call_first_part_palindrome(last_letter):
letters_a_to_y = ""
for letter in range(97,last_letter):
letters_a_to_y += chr(letter)
return(letters_a_to_y)
def call_second_part_palindrome(last_letter):
letters_y_to_a = ""
for letter in range(last_letter,96,-1):
letters_y_to_a += chr(letter)
return(letters_y_to_a)
pyramid_palindrome(112)
我想我已经接近了,但无法画龙点睛。
【问题讨论】:
-
last_letter = last_letter - (last_letter-1)。这相当于last_letter = 1,对吧?
标签: python string python-2.7