generate-question.py 622 Bytes
#!/usr/bin/env python3

from random import randint
import sys

arg = sys.stdin.read()  # read arguments

a, b = (int(n) for n in arg.split(','))

q = f'''---
type: checkbox
text: |
  Indique quais das seguintes adições resultam em overflow quando se considera
  a adição de números com sinal (complemento para 2) em registos de 8 bits.

  Os números foram gerados aleatoriamente no intervalo de {a} a {b}.
options:
'''

correct = []
for i in range(5):
    x = randint(a, b)
    y = randint(a, b)
    q += f'  - "`{x} + {y}`"\n'
    correct.append(1 if x + y > 127 else -1)

q += 'correct: ' + str(correct)

print(q)