Acid A Acid Регистрация 28 Июн 2013 Сообщения 89 Репутация 0 Спасибо 0 Монет 0 5 Авг 2023 #1 def main(): from time import sleep,perf_counter from keyboard import is_pressed,send,write from random import choice slp,getTime,isp,snd,wrt,chc = sleep,perf_counter,is_pressed,send,write,choice logpath = "C:/Users/USER/AppData/Roaming/.minecraft/logs/latest.log" with open(logpath,"r") as file: backloglength = len(file.readlines()) def getLastMessages(): global backloglength with open(logpath,"r") as file: temp = file.readlines() out = [temp for i in range(backloglength,len(temp))] backloglength = len(temp) return out while True: start = getTime()+3 print(getLastMessages()) while getTime() < start: pass main() пишет ошибку out = [temp for i in range(backloglength,len(temp))] ^^^^^^^^^^^^^ NameError: name 'backloglength' is not defined откуда эта ошибка? переменная backloglength существует
def main(): from time import sleep,perf_counter from keyboard import is_pressed,send,write from random import choice slp,getTime,isp,snd,wrt,chc = sleep,perf_counter,is_pressed,send,write,choice logpath = "C:/Users/USER/AppData/Roaming/.minecraft/logs/latest.log" with open(logpath,"r") as file: backloglength = len(file.readlines()) def getLastMessages(): global backloglength with open(logpath,"r") as file: temp = file.readlines() out = [temp for i in range(backloglength,len(temp))] backloglength = len(temp) return out while True: start = getTime()+3 print(getLastMessages()) while getTime() < start: pass main() пишет ошибку out = [temp for i in range(backloglength,len(temp))] ^^^^^^^^^^^^^ NameError: name 'backloglength' is not defined откуда эта ошибка? переменная backloglength существует
KabClealay K KabClealay Регистрация 16 Ноя 2012 Сообщения 82 Репутация 0 Спасибо 0 Монет 0 5 Авг 2023 #2 Взял и поломал...
vladisla0308 V vladisla0308 Регистрация 2 Ноя 2013 Сообщения 97 Репутация -3 Спасибо 0 Монет 0 5 Авг 2023 #3 она существует в другой функции и даже не глобально
кывпы К кывпы Регистрация 26 Окт 2013 Сообщения 95 Репутация -5 Спасибо 0 Монет 0 5 Авг 2023 #4 Ошибка возникает из-за того, что переменная backloglength объявляется внутри функции main(), но используется в функции getLastMessages(), которая является вложенной функцией. Поэтому она не видна внутри функции getLastMessages().
Ошибка возникает из-за того, что переменная backloglength объявляется внутри функции main(), но используется в функции getLastMessages(), которая является вложенной функцией. Поэтому она не видна внутри функции getLastMessages().
темир Т темир Регистрация 30 Ноя 2013 Сообщения 92 Репутация 0 Спасибо 0 Монет 0 5 Авг 2023 #5 Избегайте использования глобальных переменных, вместо этого лучше передайте это значение как параметр к функции, которую вы вызываете.
Избегайте использования глобальных переменных, вместо этого лучше передайте это значение как параметр к функции, которую вы вызываете.