나는 파이썬 프로그래밍에 조금 새로운 해요,하지만 난이 코드를 할 수 있습니다 :이파이썬 오류 GET 개체 값
dimValue = 0
........
elif event[0] == "control" and body["location"] == location and body["action"] == "on":
auxValue = int(body["dim"])
print("AuxValue = " + str(auxValue))
if auxValue > dimValue:
print("entrou")
dimControl=auxValue-dimValue
print("DimControl = " + str(dimControl))
dimValue = auxValue
os.system("heyu bright A1 "+ str(dimControl))
elif dimValue > auxValue:
print("saiu")
dimControl=dimValue-auxValue
dimValue = auxValue
os.system("heyu dim A1 "+ str(dimControl))
을 코드, int (body [ "dim"])가 5 인 경우 첫 번째 인쇄 만 표시하고 if else 문에는 입력하지 마십시오. 이 줄 "dimValue = auxValue"주석 경우, 그것을 다른 경우 입력하고 모든 것을 잘 수행하십시오. 하지만이 줄을 써야합니다. 내가 뭘 잘못하고있어?
감사합니다.
는 휴고 실바는 그것은 if
블록이나 elif
블록도 같은 소리
소스의 맨 위에는 'elif'가 있습니다. 나는 당신의 문제를 설명 할 수있는 반복문이나 뭔가가 있다고 생각합니다. 예를 들어 위 코드에서'dimValue'를 변경하려고합니다. 루프가 있으면 상태를 잃어 버릴 수 있습니다. – wberry
아마도 당신 말이 맞을 것입니다. 하지만 어딘가에 auxValue를 사용하여 dimValue를 변경해야합니다.이 작업을 수행 할 수있는 곳은 어디입니까? –
여기에 나와있는 정보를 사용하면 변경 상태에서 작업을 분리하는 것만 권장 할 수 있습니다. 한 가지 방법으로 상태를 바꿀 수 있고, 하나는 새로운 정보로 행동 할 수 있습니다. 그런 식으로 시간 순서를 잘 제어 할 수 있습니다. – wberry