Direct Sum




import random

def generate_question():
    numbers = [random.randint(1, 99) for _ in range(5)]  # Generate five 1- or 2-digit numbers
    operation = random.choice(['+', '-'])  # Randomly select either addition or subtraction
    
    if operation == '+':
        correct_answer = sum(numbers)
        question_text = " + ".join(map(str, numbers))
    else:
        correct_answer = numbers[0]
        for num in numbers[1:]:
            correct_answer -= num
        question_text = " - ".join(map(str, numbers))
    
    # Generate answer choices with slight variations
    options = [correct_answer, correct_answer + random.randint(1, 10), correct_answer - random.randint(1, 10), correct_answer + random.randint(-5, 5)]
    random.shuffle(options)
    
    return question_text, correct_answer, options

def generate_question_paper(num_questions=10):
    print("Multiple Choice Question Paper: Level 0 Direct Sum Test")
    print("------------------------------------------------------\n")
    
    for i in range(1, num_questions + 1):
        question, answer, choices = generate_question()
        print(f"Q{i}. {question} = ?")
        for j, option in enumerate(choices, 1):
            print(f"   {j}. {option}")
        print("\n")
    
if __name__ == "__main__":
    generate_question_paper()