6.2 ארגומנטים לתוכנה פתרון

import argparse

def add(num1, num2):
    return num1 + num2

def subtract(num1, num2):
    return num1 - num2

def multiply(num1, num2):
    return num1 * num2

def divide(num1, num2):
    if num2 == 0:
        raise ValueError("Cannot divide by zero")
    return num1 / num2

def main():
    parser = argparse.ArgumentParser(description="Simple calculator")
    parser.add_argument('--operation', '-op', choices=['add', 'sub', 'mul', 'div'], required=True,
                        help="Operation to perform: add, sub, mul, div")
    parser.add_argument('--num1', '-n1', type=float, required=True, help="First number")
    parser.add_argument('--num2', '-n2', type=float, required=True, help="Second number")
    args = parser.parse_args()

    try:
        if args.operation == 'add':
            result = add(args.num1, args.num2)
        elif args.operation == 'sub':
            result = subtract(args.num1, args.num2)
        elif args.operation == 'mul':
            result = multiply(args.num1, args.num2)
        elif args.operation == 'div':
            result = divide(args.num1, args.num2)
        print("Result:", result)
    except ValueError as e:
        print("Error:", e)

if __name__ == "__main__":
    main()