Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Я новичок в Python, помогите с вызовом функции извне пж. Мне в нем попроще, не говорите его + и -

Мне надо бы, как то, чтобы был вызов из вне к функции point, чтобы много потом не писать кода

По дате
По рейтингу
Аватар пользователя
Новичок

Для вызова функции point извне, вам нужно определить функцию и затем вызвать ее из другого места в вашем коде. Ниже приведен пример, как можно организовать ваш код, чтобы вызывать функцию point из основной части программы.

1234567891011121314151617181920212223242526272829303132333435
 import pyautogui as py 
import speech_recognition as sr 
 
def cycle1(): 
    print("Цикл 1 активирован") 
    n = 0 
    while n <= 5: 
        r = sr.Recognizer() 
        with sr.Microphone() as source: 
            r.adjust_for_ambient_noise(source) 
            print("Процесс...") 
            data = r.record(source, duration=5) 
            text = r.recognize_houndify(data, client_id, client_key, show_all=False) 
            print(text) 
        n = n + 1 
        point(text) 
 
def point(text): 
    if "ring" in text: 
        py.moveTo(x=510, y=96) 
        py.click() 
        py.moveTo(x=266, y=611) 
        py.click() 
    print("* - продолжить") 
    input("*") 
 
def cycle2(): 
    print("Режим отладки /n Ввести значение text для анализа:") 
    text = input("text:") 
    point(text) 
 
# Основная часть программы 
if __name__ == "__main__": 
    cycle1() 
    cycle2()  

В этом коде::

Я добавила импорт необходимых библиотек в начале файла.
Функцию point определила отдельно и добавила параметр text.
В cycle1, после получения текста, вызывается функция point с этим текстом.
Добавила основную часть программы с вызовами cycle1 и cycle2.

Аватар пользователя
Мудрец

А нафига ты функцию point() создал ВНУТРИ функции cycle1()? И ты даже не используешь её в этом cycle1(). Область видимости этой функции внутри функции cycle1. Убери отступы и определи point() отдельно

Аватар пользователя
Знаток

cycle1.point()

Аватар пользователя
Мастер

я только за переменные шарю