verbo-griego.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import random
  2. import sys
  3. def pregunta_verbo(veces):
  4. voces = ['activa', 'pasiva', 'media']
  5. modos = ['indicativo', 'imperativo', 'subjuntivo', 'optativo', 'infinitivo', 'participio']
  6. tiempos = ['presente', 'aoristo', 'perfecto']
  7. verbos = ['λύω', 'τιμῶ', 'ποιῶ', 'δηλῶ']
  8. for vez in range(veces):
  9. voz = random.choice(voces)
  10. modo = random.choice(modos)
  11. tiempo = random.choice(tiempos)
  12. if voz == 'pasiva':
  13. tiempos.append('futuro perfecto')
  14. if modo == 'indicativo':
  15. tiempos.append('imperfecto')
  16. tiempos.append('pluscuamperfecto')
  17. tiempos.append('futuro')
  18. elif modo == 'infinitivo' or modo == 'participio' or modo == 'optativo':
  19. tiempos.append('futuro')
  20. tiempo = random.choice(tiempos)
  21. if modo == 'infinitivo':
  22. print(modo, 'de', tiempo, 'de la voz', voz, end='')
  23. elif modo == 'participio':
  24. casos = ['nominativo', 'vocativo', 'acusativo', 'genitivo', 'dativo', 'ablativo']
  25. numeros = ['singular', 'dual', 'plural']
  26. caso = random.choice(casos)
  27. numero = random.choice(numeros)
  28. print(caso, numero, 'del participio de', tiempo, 'de la voz', voz, end='')
  29. else:
  30. personas = ['2ª', '3ª']
  31. if modo != 'imperativo':
  32. personas.append('1ª')
  33. persona = random.choice(personas)
  34. numero = random.choice(['singular', 'plural'])
  35. print(persona, 'persona del', numero, 'del', tiempo, 'de', modo,
  36. 'de la voz', voz, end='')
  37. print(' de', random.choice(verbos))
  38. if len(sys.argv) > 1:
  39. pregunta_verbo(int(sys.argv[1]))
  40. else:
  41. pregunta_verbo(1)