Это l oop не работает и код нуждается в улучшении. У вас есть предложения? - PullRequest
0 голосов
/ 16 марта 2020

Я довольно новичок в Python и в кодировании в целом, и в настоящее время работаю с Python 3.5. Я хотел научиться автоматизировать вещи, для запуска которых необходимо заполнить текстовые поля. Я экспериментировал с приведенным ниже кодом в видеоигре, просто для того, чтобы научиться.

Я бы хотел, чтобы он заменял различные номера элементов в списке на текст consolecommand .

Спасибо за потраченное время.

Код:

from pynput.keyboard import Key, Controller
import time
from keyboard import press

keyboard = Controller()

def submit():
    press('enter')

def Keyboardpress1():
    keyboard.press('/')
    keyboard.release('/')

def waitone():
    time.sleep(1)

def consolecommand():
    keyboard.type("giveitem 172 49000")

def deepsix():
    time.sleep(6)

def main():
    deepsix()
    submit()
    waitone()
    Keyboardpress1()
    waitone()
    consolecommand()
    waitone()
    submit()
    deepsix()


if __name__ == '__main__':
    main()

Как видите, код предназначен для того, чтобы нажимать число для активации командной консоли в игре, затем введите команду. Паузы между набором текста / клавиатурой заключаются в том, что без них код работает некорректно.

Спасибо, благодарю за любую помощь.

Редактировать: я внедрил исправления, которые я узнал из материалов предлагаемых ресурсов. Теперь у меня проблем гораздо меньше. Спасибо, люди из секции комментариев.

Edit1: я реализовал новый код, чтобы исправить предыдущую проблему. Теперь для получения консоли введите команду для изменения номера.

1 Ответ

0 голосов
/ 20 марта 2020

@ Коннор Винтертон, вот очень простой c пример использования параметра для сохранения повторения. Рассмотрим func1 (), которая выполняет простые вычисления и печатает жестко закодированное сообщение. Рассмотрим func2 (), который почти одинаков, за исключением того, что сообщение отличается. Передав параметр в func3 (), вы можете написать только одну функцию, которая выполнит задачу уменьшения вашего кода и беспорядка, а также даст вам возможность передавать любые другие сообщения, которые вы можете захотеть в будущем:

def func1():
    a = 1+2
    print(a,'hello')

def func2():
    a = 1+2
    print(a,'goodbye')

def func3(my_msg):
    a = 1+2
    print(a,my_msg)

# call the hardcoded functions
func1()
func2()

# call the new versatile function
func3('hello')
func3('goodbye')
func3('See you later!')
...