Skip to content
Snippets Groups Projects
01_basics.py 2.06 KiB
Newer Older
  • Learn to ignore specific revisions
  • import re
    
    
    def gap(content, points):
        return "[gap({points}P)]{gap}[/gap]".format(points=points, gap=content)
    
    def p(content):
        return '<p>{}</p>\n'.format(content)
    
    def li(content):
        return '<li>{}</li>\n'.format(content)
    
    def tex(content):
        return ('<span class="latex">' + content + '</span>').replace('\\', '\\\\')
    
    def generate_ilias():
        aufgabe = p('Berechnen Sie:')
    
        aufgabe += li(tex(r'\{a,b\} \cdot \{\varepsilon, cd\} = \{') + gap('a, acd, b, bcd', 0.5) + tex('\}'))
        aufgabe += li(tex(r'\{\varepsilon, cd\} \cdot \{a, b\} = \{') + gap('a, b, cda, cdb', 0.5) + tex('\}'))
        aufgabe += li(tex(r'\{\varepsilon, a, ab\}^2 = \{') + gap('eps, a, aa, aab, aba, abab', 0.5) + tex('\}'))
        aufgabe += li(tex(r'\{\varepsilon\} \cdot \{\varepsilon\} = \{') + gap('eps', 0.5) + tex('\}'))
        aufgabe += li(tex(r'\{\varepsilon\} \cdot \emptyset = ') + gap('{}', 0.5))
        aufgabe += li(tex(r'\{\varepsilon\} \cdot \emptyset = ') + gap('{}', 0.5))
        aufgabe += li(tex(r'\emptyset^2 = ') + gap('{}', 0.5))
        aufgabe += li(tex(r'\emptyset^* = \{') + gap('eps', 0.5) + tex('\}'))
        aufgabe += li(tex(r'\{\varepsilon\}^* = \{') + gap('eps', 0.5) + tex('\}'))
        aufgabe += li(tex(r'\{\varepsilon, a\}^+ = \{') + gap('a*', 0.5) + tex('\}'))
    
        aufgabe += ''' Verwenden Sie <code>eps</code> für {eps} und
        <code>{{}}</code> für {empty}. Geben Sie alle Elemente der neuen Menge in
        lexikographischer Reihenfolge an und verwenden Sie Leerzeichen nach einem
        Komma. (Z.B. eps, a, ab, acd, ba)'''.format(eps=tex(r'\varepsilon'), empty=tex(r'\emptyset'))
    
    
        return aufgabe.replace(r'"', r'\"')
    
    def generate_solution():
            solution = "<h3>Musterloesung</h3><br>"
            solution += re.sub(r'\[gap\(\d+P\)\](.+)\[\/gap\]',
                               r'\1', generate_ilias())
            return solution
    
    
    ### END OF SCRIPT ########################################################
    meta = {
        "type": "GAP",
        "title": "Grundlagen",
        "author": "Jan Maximilian Michal",
        "gapLength": 10,
        "question": generate_ilias(),
        "solution": generate_solution(),
    }