-2

我正在编写一个接受两个参数“a”和“b”的api。接收到参数后,它会检查它们是否存在,并根据接收到的参数执行一些操作。这是一些伪代码。

args = get.parameters

if "a" in args:
    print "x" # execute "x"
if "b" in args:
    print "y" # execute "y"
if both exists:
    print "x" # execute "x"

最好的方法是什么?

4

3 回答 3

1

根据评论中阐明的要求,这就是我要做的:

if "a" in args:
    print "x"
elif "b" in args:
    print "y"
else:
    raise ValueError("must specify at least a or b")

进行检查是没有意义的"a" in args and "b" in args,因为要采取的措施与您只有"a". 请注意elif,它确保仅在第一次检查失败时才执行第二次检查。

于 2013-05-13T14:51:29.143 回答
0
import sys
args = sys.argv;
if len(args) > 1:
    args = args[1:]
    if "a" in args and "b" in args: print "x"
    elif "a" in args: print "x"
    elif "b" in args: print "y"
于 2013-05-13T14:32:23.760 回答
0

使用您提供的有限信息,我将首先检查两者的存在ab首先。然后存在a不是bb不存在a。这样你就不会错过任何条件。

if 'a' in args and 'b' in args:
    print "x" # execute "x"
elif "a" in args:
    print "x" # execute "x"
elif "b" in args:
    print "y" # execute "y"
else:
    print 'ERROR need "a" or "b"'

另外我不明白为什么不使用if-elif-else而不是使用多个ifs. 这些应该是非此即彼的条件。

于 2013-05-13T14:05:29.760 回答