我有以下代码:
if sys.argv[2].isdigit() and sys.argv[3].isdigit() and sys.argv[2] >='3' and sys.argv[3] >='3':
print 'works'
else:
sys.exit()
这是可行的,但是我尝试找到一种方法来制作“如果sys.argv [2] .isdigit()和sys.argv [3] .isdigit()和sys.argv [2]> ='3 '和sys.argv [3]> ='3':“更短,更漂亮。有什么办法可以做到这一点?谢谢!
答案 0 :(得分:4)
这是一个很好的,可扩展的条件来代替您的条件:
all(map(lambda x: x.isdigit() and int(x) > 3, sys.argv[2:4]))
如果sys.argv[2:4]
的所有元素都大于3,这将是正确的。这对于检查两个数字也可能会过大,但比单独检查所有内容更具可读性,任何人都应该清楚知道谁会读到您正在尝试做的事情。