首页 文章

为什么我的功能不起作用?

提问于
浏览 721
0

这是python 3,这个代码基本上检查一个单词在向后读时是否相同 . 当我通过Visual Studio执行此操作时,没有任何反应,我得到提示按任意键继续...

if "__name__" == "__main__":
    StartProgram() 

def StartProgram():
    Input = AskForDataSimple()
    print(CheckIfPalindrome(Input))

def AskForDataSimple():
    print("Please input the line to test.")
    In = input()
    return In

def CheckIfPalindrome(x):
    if x[::-1] == x:
        return True
    else:
        return False

请注意,这个更简单的版本实际上有效:

x = input()

if x[::-1] == x:
    print(True)
else:
    print(False)

2 回答

  • 2
    if "__name__" == "__main__":
    

    将此更改为

    if __name__ == "__main__":
    

    __name__ 是包含此模块名称的变量 . 您需要这些行,以便仅在直接执行此文件时才使用主逻辑,而不是在由另一个代码作为模块导入时使用 .

    它仍然不起作用,因为您需要在这些行之前定义您调用的函数:将这些行移动到文件的末尾 .

    还有,这个

    def CheckIfPalindrome(x):
        if x[::-1] == x:
            return True
        else:
            return False
    

    可以替换为

    def CheckIfPalindrome(x):
        return x[::-1] == x
    
  • 1

    将main函数移动到文件底部并尝试

    if __name__ == "__main__":
          StartProgram()
    

相关问题