File size: 802 Bytes
2ef45b1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import json
import random

DATEI = "karteikarten.json"

def lade_karteikarten():
    with open(DATEI, "r", encoding="utf-8") as f:
        return json.load(f)

def speichere_karteikarten(karten):
    with open(DATEI, "w", encoding="utf-8") as f:
        json.dump(karten, f, indent=2, ensure_ascii=False)

def naechste_karte(karten):
    gewichtet = []
    for karte in karten:
        gewicht = 6 - karte["stufe"]
        gewichtet += [karte] * gewicht
    return random.choice(gewichted) if gewichtet else None

def verarbeite_antwort(karte, antwort_index, alle_karten):
    korrekt = (antwort_index == karte["richtig"])
    if korrekt:
        karte["stufe"] = min(karte["stufe"] + 1, 5)
    else:
        karte["stufe"] = 1
    speichere_karteikarten(alle_karten)
    return korrekt, karte["stufe"]