簡體   English   中英

Python中第二個定義的語法錯誤

[英]Syntax error at second definition in Python

def specificChecker(someThing, checker):
    if checker == None:
        return someThing
    elif checker == True:
        return not someThing
    else:
        return None

def whatDoesTheCheckerSay(someThing):
    if specificChecker(someThing) == someThing:
        return 'The checker value was False on that one.'
    elif specificChecker(someThing) == not someThing:
        return 'The checker value was True on that one.'
    elif specificChecker(someThing) == None:
        return 'Something irregular happend. The checker value wasn\'t None or True.'
    else:
        return 'Something went really wrong. This doesn\'t even not work.'

reallySomeThing = input('Type in really some thing: ')
theChecker = input('Set the checker to something: ')

print(specificChecker(reallySomeThing, theChecker))
print(whatDoesTheCheckerSay(reallySomeThing)) # This can be made more efficient, right?

def one(someShit):
    return someShit + ' AWWW YEAH!'

def two(someShit):
    return one(someShit)

print(two(input('Type in some kind of stuff: ')))

我是一個自學成才的初學者,所以毫無疑問這是一個尷尬的基礎。 我正在使用IDLE Shell,並在代碼的第二個定義語句中反復遇到語法錯誤。 請幫忙?

您不能使用以下行:

elif specificChecker(someThing) == not someThing:

這必須寫

elif specificChecker(someThing) != someThing:

是有效的Python。

這也是有效的,但可讀性可能較低:

elif (specificChecker(someThing)) == (not someThing):

OP編輯后:

新的錯誤是參數(始終為1)與需要2個參數的函數不匹配。 您必須將兩個參數傳遞給specificChecker而不是一個

第12行: elif specificChecker(someThing) == not someThing:

如果要檢查某個變量是否不是某個變量, is not用於布爾值或用於值和字符串的!=

暫無
暫無

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

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