回文的反向循环
Reverse loop for palindrome
我的老师要我使用反向循环而不是我现在正在使用的反向功能。我似乎无法找到一个有效的方法。
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()
您可以尝试下面的代码,但我真的建议您先自己尝试一下。 (因为,如果您能够编写递归调用,那么您也应该能够自己编写迭代调用。)
def reverse(text):
rev = ""
final = ""
for a in range(0,len(text)):
rev = text[len(text)-a-1]
final = final + rev
return final
def palindrome():
string = input("Enter a Word: ")
for i,char in enumerate(string):
if char != string[-i-1]:
return False
return True
针对以下评论进行了编辑:
the enumerate() function adds a counter to an iterable.
>>> string = "PARAM"
>>> for count, elem in enumerate(string):
... print count, elem
...
0 P
1 A
2 R
3 A
4 M
so line if char != string[-i-1]
will try to match one character from front and one character from end.
我的老师要我使用反向循环而不是我现在正在使用的反向功能。我似乎无法找到一个有效的方法。
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()
您可以尝试下面的代码,但我真的建议您先自己尝试一下。 (因为,如果您能够编写递归调用,那么您也应该能够自己编写迭代调用。)
def reverse(text):
rev = ""
final = ""
for a in range(0,len(text)):
rev = text[len(text)-a-1]
final = final + rev
return final
def palindrome():
string = input("Enter a Word: ")
for i,char in enumerate(string):
if char != string[-i-1]:
return False
return True
针对以下评论进行了编辑:
the enumerate() function adds a counter to an iterable.
>>> string = "PARAM"
>>> for count, elem in enumerate(string):
... print count, elem
...
0 P
1 A
2 R
3 A
4 M
so line
if char != string[-i-1]
will try to match one character from front and one character from end.