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