回文的逆循环

时间:2017-03-21 13:51:48

标签: python-3.x loops reverse

我的老师要我使用反向循环而不是我现在正在使用的反向功能。我似乎无法得到一个有效的。

def palindrome():
    myInput = input("Enter a Word: ")
    word = myInput[::-1]
    if myInput == word:
        print("That is a palindrome")
        return True
    else:
        print("That is not a palindrome")
        return False
palindrome()

2 个答案:

答案 0 :(得分:0)

你可以尝试下面的代码,但我真的建议你先自己尝试一下。 (因为,如果您能够编写递归调用,您也应该能够自己编写迭代调用。)

def reverse(text):
      rev = ""
      final = ""
      for a in range(0,len(text)):
            rev = text[len(text)-a-1]
            final = final + rev
return final

答案 1 :(得分:0)

def palindrome():
    string = input("Enter a Word: ")
    for i,char in enumerate(string):
        if char != string[-i-1]:
            return False
    return True

编辑以下评论:

  

enumerate()函数将一个计数器添加到一个iterable。

>>> string = "PARAM"
>>> for count, elem in enumerate(string):
...     print count, elem
... 
0 P 
1 A
2 R
3 A
4 M
  

所以第if char != string[-i-1]行会尝试匹配前面的一个字符和结尾的一个字符。