Для решения этой проблемы нельзя ссылаться на переменные из функций Vibration1
и Vibration2
.
Есть два способа сделать это.
1) Вы можете присвоить значения глобальным переменным:
import concurrent.futures
State1 = None
State2 = None
def Vibration1(a,b,c,d):
global State1
State1 = False
if a < Thumb_Pitch < b or c < Roll_Max_Thumb < d :
State1 = True
else:
State1 = False
print('Done1')
return State1
def Vibration2(w,x,y,z):
global State2
State2 = False
if w < Index_Pitch < x or y < Index_Roll < z :
State2 = True
else:
State2 = False
print('Done2')
return State2
def feedback(a,b,c,d,w,x,y,z):
global State1
global State2
Success = False
if State1 and State2:
Success = True
x = time.sleep(5)
State1 = False
State2 = False
else:
Success = False
print("Keep Trying")
return print('Success',Success)
Если вы сделаете это, вам придется вызвать Vibration1
и Vibration2
функционируют извне для назначения значений переменных.
2) Когда вы ссылаетесь на значения State1 и State2, вы вызываете функцию вибрации:
def feedback(a,b,c,d,w,x,y,z):
Success = False
if Vibration1(a,b,c,d) and Vibration2(w,x,y,z):
Success = True
x = time.sleep(5)
else:
Success = False
print("Keep Trying")
return print('Success',Success)
Таким образом, вам не нужно вызывать функции извне, они будут вызываться автоматически.
Надеюсь, это поможет! Дайте мне знать, если у вас есть какие-либо вопросы.