correct-first_3_planets.py 650 Bytes
#!/usr/bin/env python3

import re
import sys

s = sys.stdin.read()

# set of words converted to lowercase
answer = set(re.findall(r'[\w]+', s.lower()))
answer.difference_update({'e', 'a', 'planeta', 'planetas'})  # ignore these

# correct set of colors
planets = set(['mercúrio', 'vénus', 'terra'])

correct = set.intersection(answer, planets) # os que acertei
wrong = set.difference(answer, planets)   # os que errei
# allnames = set.union(answer, planets)

grade = (len(correct) - len(wrong)) / len(planets)

out = f'grade: {grade}'

if grade < 1.0:
    out += '\ncomments: A resposta correcta é `Mercúrio, Vénus e Terra`.'

print(out)
exit(0)