Advertisement
Norvager

Ru+En

May 24th, 2021
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.91 KB | None | 0 0
  1. #Разработать программу – клавиатурный тренажер. В ходе работы программы должны генерироваться символы,
  2. #которые необходимо вводить пользователю, количество правильно введенных символов должно подсчитываться,
  3. #при вводе неверного символа, счетчик правильно введенных символов должен обнуляться, по завершению работы
  4. #тренажера результат верно введенных символов должен выводиться на экран. Выход из режима тренажера должен
  5. #осуществляться по нажатию клавиши «Esc». При вводе неверного символа необходимо выдавать звуковое сопровождение
  6. #(системный звук).
  7. from random import randint as rand
  8. import readchar
  9. import msvcrt
  10. import keyboard
  11. #help(keyboard)
  12. help(readchar)
  13. language = int(input("Выберете язык 1 - Русский, 2 - Английский :"))
  14. endGame = False
  15.  
  16. if language == 2 :
  17. print("Вводите символы которые видите на экране")
  18. pressedKey = None
  19. checkTrue = 0
  20. while True:
  21. if endGame:
  22. break
  23. kod = rand(65, 122)
  24. neededKey = chr(kod)
  25. print(neededKey, end = '', flush = True)
  26. pressedKey = readchar.readkey()
  27. if neededKey == pressedKey :
  28. checkTrue += 1
  29. if pressedKey == '\x1b' :
  30. print(f"\n Кол-во верных ответов: {checkTrue}")
  31. checkTrue = 0
  32. endGame = True
  33. break
  34. while neededKey != pressedKey :
  35. checkTrue = 0
  36. print("\n")
  37. print("Ошибка!")
  38. print("\b")
  39. print(neededKey, end = '', flush = True)
  40. pressedKey = readchar.readkey()
  41. if neededKey == pressedKey :
  42. checkTrue += 1
  43. if pressedKey == '\x1b' :
  44. print(f"Кол-во верных ответов: {checkTrue}")
  45. checkTrue = 0
  46. endGame = True
  47. break
  48.  
  49. else :
  50. adapt = [('q','й'),('w','ц'),('e','у'),('r','к'),('t','е'),('y','н'),('u','г'),('i','ш'),('o','щ'),('p','з'),
  51. ('[','х'),(']','ъ'),('Q','Й'),('W','Ц'),('E','У'),('R','К'),('T','Е'),('Y','Н'),('U','Г'),('I','Ш'),
  52. ('O','Щ'),('P','З'),('{','Х'),('}','Ъ'),('a','ф'),('s','ы'),('d','в'),('f','а'),('g','п'),('h','р'),
  53. ('j','о'),('k','л'),('l','д'),(';','ж'),("'",'э'),('A','Ф'),('S','Ы'),('D','В'),('F','А'),('G','П'),
  54. ('H','Р'),('J','О'),('K','Л'),('L','Д'),(':','Ж'),('"','Э'),('z','я'),('x','ч'),('c','с'),('v','м'),
  55. ('b','и'),('n','т'),('m','ь'),(',','б'),('.','ю'),('Z','Я'),('X','Ч'),('C','С'),('V','М'),('B','И'),
  56. ('N','Т'),('M','Ь'),('<','Б'),('>','Ю')]
  57. print("Вводите символы которые видите на экране")
  58. pressedKey = None
  59.  
  60. while True:
  61. if endGame:
  62. break
  63. kod = rand(1072, 1103)
  64. neededKey = chr(kod)
  65. print(neededKey, end = '', flush = True)
  66. pressedKey = bytes.decode(msvcrt.getch(), 'utf-8')
  67. #for i in range(0, len(adapt), 1) :
  68. # key = adapt[i][0]
  69. # if pressedKey == key:
  70. # pressedKey = adapt[i][1]
  71. while neededKey != pressedKey:
  72. print("\n")
  73. print("Ошибка!")
  74. print("\b")
  75. print('\a')
  76. print(neededKey, end = '', flush = True)
  77. pressedKey = bytes.decode(msvcrt.getch(), 'utf-8')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement