我正在编写一个api,它接受两个参数“a”& “B”。收到参数后,它会检查它们是否存在,并根据收到的参数进行一些操作。这是一些psudo代码。
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"
最好的方法是什么?
答案 0 :(得分: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
,这样可确保仅在第一次检查失败时执行第二次检查。
答案 1 :(得分:0)
根据您提供的有限信息,我首先会检查a
和b
是否存在。然后存在a
而不是b
或b
而不是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
。这些应该是 - 或条件。
答案 2 :(得分: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"