correct-question.py
614 Bytes
#!/usr/bin/env python3
'''
Demonstação de um script de correcção
'''
import re
import sys
s = sys.stdin.read()
ans = set(re.findall(r'[\w]+', s.lower())) # get words in lowercase
rgb = set(['red', 'green', 'blue']) # the correct answer
# a nota é o número de cores certas menos o número de erradas
grade = max(0,
len(rgb.intersection(ans)) - len(ans.difference(rgb))) / 3
if ans == rgb:
print('---\n'
'grade: 1.0\n'
'comments: Muito bem!')
else:
print('---\n'
f'grade: {grade}\n'
'comments: A resposta correcta é "red green blue".')