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
それは私にエラーを与えます:1つの引数が期待され、また、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