0

基本的に、私がやりたいことは、プログラムがパスを選択するためのスイッチとして「if / else」を使用することです。

私のelifステートメントがfalseの場合、if / else NOTが機能しないように、さらにインデントしたい。出来ますか?

コード:

aStr = "abcdef"
char = "e"
if aStr == '':
    return False
elif len(aStr) == 1:
    if char == aStr:
        return True
    else:
        print "Python is stupid"
        return False
else:

そして、「Python はばかげている」というメッセージが返されますが、これは意図したものではありません。

4

1 に答える 1

2

true でないときに実行する場合は、次のロジックを逆にする必要がありますelif

aStr = "abcdef"
char = "e"
if aStr == '':
    return False
elif len(aStr) != 1:
    if char == aStr:
        return True
    else:
        print "Python is stupid"
        return False

( ifand 拡張により、elif) ステートメントは、指定された式が true の場合にブロックを実行します。何か真でないかどうかを確認したい場合は、ロジックを逆にします (その前に a を置くnotか、逆演算子を使用します)。

空の文字列をチェックする Pythonic の方法はif not aStr:、同等か空の文字列かをチェックするのではなく、 do であることに注意してください。

于 2013-01-17T02:22:01.810 に答える