我正在使用 argparse 制作一个基本的计算器。我基本上从命令行接受一些数字,然后是加、减、乘或除操作。我现在只有添加部分。这是我的代码:
import argparse
from sys import argv
def get_args(args):
parser = argparse.ArgumentParser(description = 'Calculator')
parser.add_argument('integers', metavar='N', type=int, nargs='+',
help='an integer for the accumulator')
parser.add_argument('--add',dest = 'sum',help = "Adds the set of numbers")
parser.add_argument('--subtract',
help = "Subtracts the set of numbers")
args = parser.parse_args()
def main(argv):
args = get_args(argv[0:])
if args.a or args.add:
return sum(args)
if __name__ == "__main__":main(argv)
但是,当我输入:
calculator.py 1 2 3 --add
它给了我错误:期望一个参数,并且在python中有一个函数sum(),但是还有一个减法,乘法和除法函数吗?如果没有,那么我如何在不使用 sum() 函数的情况下返回总和。我假设您会使用 for 循环遍历所有数字?
所以使用 for 循环会是这样的:
def main:
args = get_args(argv[0:])
if args.a or args.add:
for row in argv[1:]:
sum = sum + argv[row]
print sum