hanna-rechnet.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #!/usr/bin/python3
  2. import sys
  3. import random
  4. import readchar
  5. import subprocess
  6. from datetime import datetime
  7. import logging
  8. import logging
  9. logging.basicConfig(level=logging.DEBUG)
  10. videos_filename = 'videos.txt'
  11. def play_video():
  12. global videos
  13. if len(videos) < 1:
  14. with open(videos_filename, 'r') as fh:
  15. videos = fh.readlines()
  16. random.shuffle(videos)
  17. logging.info(f"{len(videos)} videos geladen")
  18. logging.debug(f"noch { len(videos) } videos vorhanden")
  19. subprocess.run(["mpv", "--fs", videos.pop()])
  20. def bis_zum_naechsten_zehner():
  21. x = random.randint(1,8)
  22. y = random.randint(1,9)
  23. print("von {} zum n Zehner?".format(10 * x + y))
  24. c = readchar.readkey()
  25. if c == "x":
  26. return "x"
  27. try:
  28. e = (y + int(c)) % 10
  29. except:
  30. e = 1
  31. if e == 0:
  32. return True
  33. else:
  34. return False
  35. videos = []
  36. zeiten = []
  37. while True:
  38. start = datetime.now()
  39. e = bis_zum_naechsten_zehner()
  40. ende = datetime.now()
  41. if e == "x":
  42. break
  43. logging.info(zeiten)
  44. if e:
  45. print("RICHTIG")
  46. zeiten.insert(0, (ende - start).total_seconds())
  47. else:
  48. print("FALSCH")
  49. zeiten = []
  50. zeiten = zeiten[0:10]
  51. logging.info(f"{len(zeiten)} Richtige in {sum(zeiten)} Sekunden")
  52. if len(zeiten) >= 10 and sum(zeiten) <= 30:
  53. print("JUHU!")
  54. play_video()
  55. zeiten = []