Используя модули pyttx3 и клавиатуры python3, нажмите клавишу на клавиатуре, произнесите ее и сохраните как переменную - PullRequest
0 голосов
/ 08 января 2019

Попытка использовать модули Python: «клавиатура» и «pyttsx3», чтобы иметь функцию «keyboard.get_pressed», обнаруживают нажатие клавиш и используют pyttsx3, чтобы сказать, какие клавиши нажимаются, прежде чем вводить их через «input ()», чтобы сохранить строку как переменная.

Лично я очень плохо знаком с программированием и постепенно изучаю python как мой первый компьютерный язык.

Я пытался:

while, для циклов, перезаписывает, использует карту символов в переменной списка

#best outline I've got...
import pyttsx3
import keyboard

#this script
c = list(map(chr, range(ord('0'), ord('z')+1)))
ans, On = str(), True
#pyttsx3 module
engine = pyttsx3.init()
voices = engine.getProperty('voices')
v_one, v_two = voices[0], voices[1]
engine.setProperty('v_one', v_one.id)
s, r = engine.say, engine.runAndWait
#keyboard module
k = keyboard.is_pressed

s('Would you like to keep this voice?')
while On:
    r()
    for a in k():
        ans = input(s(a))
#above returns a TypeError


#Some of the things I've tried:

s('Would you like to keep this voice?')
while On:
    r()
    a = k(ans)
    s(a)

#I also tried...

s('Would you like to keep this voice?')
r()
while On:
    for a in c[:]:
        s(a),r()

#I also tried...

s('Would you like to keep this voice?')
r()
while On:
    a = k()
    if c[:] == a:
        s(a)
        pass
    r()


ans = input("...") """Have it state what keys are being pressed, before 
hitting enter to store it as a variable."""

Если этого не сделать, есть ли способ обойти такой же или похожий результат?

1 Ответ

0 голосов
/ 08 января 2019

Я понял это с помощью функции: keyboard.read_key, не нужно было использовать функцию keyboard.is_pressed

Я могу переписать цикл while следующим образом:

s('Would you like to keep this voice?')
while On:
    a = keyboard.read_key()
    for i in c:
        if a == i:
            s(a)
            r()
    ans.append(a)
    #enter some if statement that a is equal return while loop as False.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...