0

文字列に3つの特定の値があるかどうかを簡単にチェックしようとしています。存在する場合、ステートメントは save ではなく、何も返さないようにする必要があります。

これが私のコードですが、構文が間違っていると思います:

if not ('2239687' or '2238484' or '2239440') in user_id:
    #The user is not admin, save the user
    web_user.save() 

詳しく説明すると、「2239687」または「2238484」または「2239440」であるかどうかをテストする必要user_idがあります(たとえば、「002239440」ではありません)。user_id がこれらの 3 つの値のいずれか (およびこれらの 3 つの値のみ) である場合、ステートメントは false を返す必要があります。

4

3 に答える 3

2

もう 1 つのオプション:

if not any(idx in user_id for idx in ('2239687' ,'2238484' , '2239440')):
    # do something
于 2013-03-26T08:40:45.447 に答える
2
if not any(x in user_id for x in ('2239687', '2238484', '2239440')):
    #The user is not admin, save the user
    web_user.save() 

これは、3 つの文字列のいずれも 内に存在しないかどうかをチェックしますuser_id

于 2013-03-26T08:46:09.450 に答える
1

このようにしてみてください

if user_id not in ('2239687' ,'2238484' , '2239440'):

または

if not user_id in ('2239687' ,'2238484' , '2239440'):
于 2013-03-26T08:36:29.787 に答える