Python基础知识 - 比较,缩进,if ... else

时间:2017-04-25 04:12:03

标签: python-2.7

代码应接受来自命令行的争论,如果'a'大于5则打印“bad input”,否则打印“good input”。或至少这是我想要它做的。有人可以解释为什么这不能按预期工作吗? (P.S - 这是我的第一个python代码)

 import sys

 def main():
        print sys.argv[1]
        ##print len(sys.argv[1])
        a=sys.argv[1]
            if a > 5:
                print "bad input"
            else:
                print "good input"


 if __name__ == '__main__':
   main()

enter image description here

2 个答案:

答案 0 :(得分:0)

只需要修复你的缩进,它就可以正常工作。

import sys

def main():
    a = sys.argv[1]
    if a > 5:
        print "bad input"
    else:
        print "good input"


if __name__ == '__main__':
    main()

答案 1 :(得分:0)

从命令行获得的参数是 string 格式,因此在进行任何数学运算之前,必须将其转换为整数,如此处 a = int(sys.argv [ 1])并且不要用间距开始下一行,这是不需要的。解决方案如下:

import sys

def main():

    print(sys.argv[1])

    a = int(sys.argv[1])

    if a > 5:
        print ("bad input")
    else:
        print ("good input")

if __name__ == "__main__":
    main()