Update
This commit is contained in:
parent
4311dc7be8
commit
33ac6ed43a
1 changed files with 16 additions and 7 deletions
23
main.py
23
main.py
|
|
@ -71,9 +71,15 @@ def vergleiche(respuesta, expecta):
|
|||
respuesta = '¡' + respuesta[1:]
|
||||
if respuesta[0] == '?' and expecta[0] == '¿':
|
||||
respuesta = '¿' + respuesta[1:]
|
||||
respuesta = re.sub('(~n|n~)', 'ñ', respuesta)
|
||||
|
||||
expecta = re.sub(' \((irr.|pl.)\)', '', expecta)
|
||||
respuesta = unicodedata.normalize('NFD', respuesta)
|
||||
expecta = unicodedata.normalize('NFD', expecta)
|
||||
respuesta = re.sub(' ?([!?¿¡….]) ?', r'\1', respuesta)
|
||||
expecta = re.sub(' ?([!?¿¡….]) ?', r'\1', expecta)
|
||||
respuesta = re.sub(r'\.\.\.', '…', respuesta)
|
||||
expecta = re.sub(r'\.\.\.', '…', expecta)
|
||||
if respuesta == expecta: return 0
|
||||
respuesta = re.sub('[!?¿¡…. ]', '', respuesta)
|
||||
expecta = re.sub('[!?¿¡…. ]', '', expecta)
|
||||
|
|
@ -94,6 +100,10 @@ assert vergleiche("Buenas noches", "¡Buenas noches!") == 1
|
|||
assert vergleiche("ser", "ser (irr.)") == 0
|
||||
assert vergleiche("hacer algo", "hacer (irr.) algo") == 0
|
||||
assert vergleiche("padres", "padres (pl.)") == 0
|
||||
assert vergleiche("¿De dónde …?", "¿De dónde… ?") == 0
|
||||
assert vergleiche("el nombre", "el apellido") == 4
|
||||
assert vergleiche("Tengo … a~nos.", "Tengo... años.") == 0
|
||||
assert vergleiche("¿Cuántos a~nos tienes?", "¿Cuántos años tienes?") == 0
|
||||
|
||||
class Resultado:
|
||||
CORRECTO = 0
|
||||
|
|
@ -123,11 +133,10 @@ def einzelne_abfrage(palabra, status):
|
|||
else:
|
||||
match status:
|
||||
case 0: bien = Resultado.BIEN if resultado < 4 else Resultado.NO_BIEN
|
||||
case 1: bien = Resultado.BIEN if resultado < 2 else (RESULTADO.NO_BIEN if resultado < 4 else Resultado.MAL)
|
||||
case 2: bien = Resultado.BIEN if resultado < 2 else (RESULTADO.NO_BIEN if resultado < 3 else Resultado.MAL)
|
||||
case 3: bien = resultado < 2
|
||||
case 4: bien = resultado < 1
|
||||
bien = Resultado.BIEN if bien else Resultado.MAL
|
||||
case 1: bien = Resultado.BIEN if resultado < 3 else (Resultado.NO_BIEN if resultado < 4 else Resultado.MAL)
|
||||
case 2: bien = Resultado.BIEN if resultado < 2 else (Resultado.NO_BIEN if resultado < 3 else Resultado.MAL)
|
||||
case 3: bien = Resultado.BIEN if resultado < 2 else Resultado.MAL
|
||||
case 4: bien = Resultado.BIEN if resultado < 1 else Resultado.MAL
|
||||
print(f" {bcolors.LINK_START}file://{AUDIO_BASE}{palabra['audio']}.aac{bcolors.LINK_MIDDLE}",end="")
|
||||
if bien == Resultado.CORRECTO:
|
||||
print(f"{bcolors.OKGREEN}✓{bcolors.ENDC}",end="")
|
||||
|
|
@ -181,10 +190,10 @@ class Sesion:
|
|||
for palabra in palabras:
|
||||
match einzelne_abfrage(palabra, status):
|
||||
case Resultado.CORRECTO:
|
||||
self.status[palabra['id']] = status + (2 if status < 2 else 1)
|
||||
self.status[palabra['id']] = (status or 0) + (2 if (status or 0) < 2 else 1)
|
||||
self.bien += 1
|
||||
case Resultado.BIEN:
|
||||
self.status[palabra['id']] = status + 1
|
||||
self.status[palabra['id']] = (status or 0) + 1
|
||||
self.bien += 1
|
||||
case Resultado.NO_BIEN:
|
||||
continue
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue