0

我试图做一个简单的检查字符串中是否有 3 个特定值。如果有,该语句应该什么都不返回,而不是保存。

这是我的代码,但我认为语法错误:

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

详细地说,我希望它测试user_id是“2239687”、“2238484”还是“2239440”(而不是,例如“002239440”)。如果 user_id 是这三个值之一(并且只有这三个值),则该语句应返回 false。

4

3 回答 3

2

另一种选择:

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() 

这将检查三个字符串中的任何一个是否都不存在于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 回答