簡體   English   中英

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

[英]Why dont my functions work?

這是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)
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

將主要功能移至文件底部並嘗試

if __name__ == "__main__":
      StartProgram() 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM