Python 根据收到的参数执行操作
我正在编写一个api,它接受两个参数“a”和“b”。在收到参数后,它会检查它们是否存在,并根据收到的参数执行一些操作。下面是一些psudo代码Python 根据收到的参数执行操作,python,Python,我正在编写一个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" 最好的方法是什么?根据您提供的有限信息,我首
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"
最好的方法是什么?根据您提供的有限信息,我首先检查
a
和b
是否存在。然后出现a
notb
或b
nota
。这样你就不会错过任何条件
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"'
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"
我也不明白为什么不使用
if elif else
而不是多个if
。这些应该是或条件 根据评论中提出的要求,我会这样做:
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"'
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"
if "a" in args:
print "x"
elif "b" in args:
print "y"
else:
raise ValueError("must specify at least a or b")
检查args中的“a”和args中的“b”没有任何意义,因为要采取的操作与只有
“a”
的情况相同。注意elif
,它确保只有在第一次检查失败时才执行第二次检查。如果不知道可能的条件是什么,这是不可能回答的。如果args中的“b”
,则必须始终执行打印“y”
,或者仅当“a”不在args中时执行?@larsmans的可能条件为。我要么接受“a”或“b”,要么两者都可以。但如果只收到“a”,则执行一些操作,比如说“x”,如果只收到“b”,则执行一些操作“y”,但如果两个都收到,则执行与只收到“a”时相同的操作。上的和
s之后的条件如果
s有点多余,您已经检查了它们是否都存在,为什么在每种情况下都需要再次检查?