2017-01-01 9 views
-4

intput int型に基づいて、ユーザーの入力がある場合!= 0または1のpythonもし条件私はメッセージをプリントアウトしたい

entering = int(input('enter 0 or 1: ')) 

私は、それが0または1のいずれかのために働くことを得ることができますが、私は1つのif条件で両方を結合しようとすると、動作しません。 2つのオプションの後に私は試しました:

if entering != 0 or entering != 1: 
    print('invalid input') 

if entering != 0 or 1: 
    print('invalid input') 

私は0または1を入力しても「無効な入力」が表示されます。私は何が欠けていますか?

+0

ただ好奇心、なぜ人々は時々、通常の質問にダウングレードするのですか?この質問に私が尋ねたやり方で間違ったことをしましたか? – pythonbrutus

+0

これは "downvote"と呼ばれ、この質問は非常に基本的なもので、あなたの教科書を読むだけで答えることができたので、あなたはいくつかを持っています。投稿する前に調査を行ったことは明らかではありません。 –

答えて

2

あなたは条件が表現、ないまたは式でなければならないので、0 1の値を除外したいです。最初のケースで

if entering != 0 and entering != 1: 
    print('invalid input') 
1

、条件のいずれかが真であることが保証される:次いでentering ==0entering != 1及びその逆場合。 2番目のケースでは、(entering != 0) or 1と評価され、1は常にtrueです。

あなたはandをしたい:

if entering != 0 and entering != 1: 

またはnot inオペレータ:

if entering not in [0,1]: 
0

私のように書き換えます:

while True: 
    entry=input('enter 0 or 1: ') #raw_input if Python 2 
    if entry in ('0','1'): 
     user_input=int(entry) 
     break 
    else: 
     print 'Invalid Entry' 
関連する問題