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()