forループを使用して構築されたパリンドローム検出器を使用しています(これは、私が参加しているコースの要件でした)。
私はそれでほぼ完全に完了しましたが、引数を返し、それを最終関数で使用するのに問題があります。コードは次のようになります。
#-*- coding: utf-8 -*-
def main():
intro()
text = (input("Inser text here: "))
ordnaText(text)
testPalindrom(ordnaText(text))
showResult(testPalindrom)
def intro():
print ("Hej! Detta är ett program som testar ifall en text är ett palindrom eller inte.")
def ordnaText (text):
nytext = ("")
fixedText = text.lower()
for i in fixedText:
if i.isalnum():
nytext = (nytext + i)
return nytext
def testPalindrome(nytext):
palindrome = True
for i in range (0, len(nytext)):
if (nytext[i]) != (nytext[len(nytext)-i-1]):
palindrome = False
return palindrome
def showResult(palindrome):
if palindrome == True:
print ("Yes, this is a palindrome")
else:
print ("No, this is not a palindrome.)
main()
最後の部分を除いてすべてが機能します。回文である「lol」を入力すると、それは間違っていると言われます。「回文」はどういうわけか正しく返されません。私は何を間違っていますか?