How to make this for loop in Python work?

后端 未结 3 661
予麋鹿
予麋鹿 2021-01-19 16:55

I want to spit out a list of palindromes until a certain letter I give.

It\'s about this part:

def pyramid_palindrome(last_letter):
    for letter in         


        
3条回答
  •  误落风尘
    2021-01-19 17:29

    Your problem was when calling your two palindrome functions and on how you were changing the value for last_letter-

    I tried to modify your code as little as possible:

    def pyramid_palindrome(last_letter):
        for letter in range(97,last_letter):
            print(call_first_part_palindrome(letter) + call_second_part_palindrome(letter-2))
    

    And this remains the same:

    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)
    

    Which outputs:

    a
    aba
    abcba
    abcdcba
    abcdedcba
    abcdefedcba
    abcdefgfedcba
    abcdefghgfedcba
    abcdefghihgfedcba
    abcdefghijihgfedcba
    abcdefghijkjihgfedcba
    abcdefghijklkjihgfedcba
    abcdefghijklmlkjihgfedcba
    abcdefghijklmnmlkjihgfedcba
    

提交回复
热议问题