lehrkraefte:blc:informatik:ffprg1-2022:nerdle:start

This is an old revision of the document!


Nerdle

Siehe auch https://nerdlegame.com/ (Achtung, nicht mehr als 10 min spielen bitte!)

Dort finden sich auch die Regeln.

Das mit der Kommutativiät führt zu Problemen:

Da wäre auch die Rechnung “8*6/16=3” denkbar, die die '8' in der zweiten Zeile als korrekt markieren könnte. Offenbar werden möglichen Umstellungen korrekt gefiltert, nachdem man geraten hat.

Auch ist nicht klar, welche Umstellung für die Bewertung ausgewählt werden soll. Die erste? Die, die am besten passt? Was heisst das genau?

Schreiben Sie Funktionen, die verschiedene Typen von Rechnungen generieren (und je nachdem auch gleich alle möglichen Umstellungen).

Beispiel:

import random
 
# 8 Zeichen, ein =, ein +, also 6 Zeichen für 3 Zahlen
def additionEinfach():
    if random.randrange(3)==0:  # 1/3 der Fälle generiere 1-stellig+2-stellig=3-stellig
        a = random.randrange(1,10)  # Einstellige Zahl
        c = random.randrange(100,100+a)  # Dreistellige Zahl so, dass c-a zweistellig ist
        b = c-a
        if random.randrange(2)==0:  # Zahlen vertauschen
            a,b = b,a
        return "%d+%d=%d" % (a,b,c)
    else:  # Generiere 2-stellig+2-stellig=2-stellig
        a = random.randrange(10,90)
        b = random.randrange(10,100-a)
        c = a+b
        return "%d+%d=%d" % (a,b,c)
 
 
# Testen:    
for i in range(10):
    print(additionEinfach())
 
 

Die Eingabe muss überprüft werden, ob die Rechnung überhaupt korrekt ist.

  • Dazu sind in den Regeln einige Bedingungen beschrieben (siehe Link oben)

Die Auswertung eines Ausdrucks kann wie folgt erfolgen:

  • Von links nach rechts werden erst die Operationen * und / ausgeführt und durch die Resultate ersetzt.
  • Dann werden die Operationen + und - ausgeführt und durch die Resultate ersetzt.
  • Steht dann links und rechts vom = das Gleiche, ist die Eingabe ok.

Ist die Gleiche wie beim Wordle.

Mit Umstellungen

Wenn man mit allen Umstellungen arbeiten möchte, muss die Bewertungsfunktion auf alle verbleibenden Umstellungen angewandt werden und die «beste» Bewertung ausgesucht werden (z.B. die mit den meisten grünen, dann die meisten violetten (gelben)). Alle Umstellungen, die eine andere Bewertung ergeben würden, müssen entfernt werden.

  • lehrkraefte/blc/informatik/ffprg1-2022/nerdle/start.1654073122.txt.gz
  • Last modified: 2022/06/01 10:45
  • by Ivo Blöchliger