import random
def generate_expression():
operators = ['+', '-', '*', '/']
num1 = random.randint(1, 100)
num2 = random.randint(1, 100)
operator = random.choice(operators)
# Ensure division results in whole number
if operator == '/' and num1 % num2 != 0:
num1 = num2 * random.randint(1, 10)
expression = f'{num1} {operator} {num2}'
return expression, operator
def evaluate_expression(expression):
try:
result = eval(expression)
return result
except ZeroDivisionError:
return 'Division by zero error'
except Exception as e:
return f'Error: {str(e)}'
# Perform operation based on operator
def perform_operation(num1, num2, operator):
if operator == '+':
return num1 + num2
elif operator == '-':
return num1 - num2
elif operator == '*':
return num1 * num2
elif operator == '/':
if num2 != 0:
return num1 / num2
else:
return 'Division by zero error'
else:
return 'Invalid operator'
# Generate, evaluate and perform branching on expressions
for _ in range(5):
expression, operator = generate_expression()
num1, op, num2 = expression.split()
num1, num2 = int(num1), int(num2)
result = perform_operation(num1, num2, op)
print(f'Expression: {expression} = {result}')