Как использовать переменные, которые установлены внутри функции в пределах для l oop или блока if в python - PullRequest
0 голосов
/ 15 февраля 2020

Я хочу иметь возможность использовать переменную BestELevator вне функции findElevator (In python)

userPosition = int(input('Enter the position of the user: '))
userDirection = str(input('Enter the direction floor (up/down): '))


elevatorList = {
           1: {'position':'6', 'direction':'down', 'status':'move', 'gap':'', 'priority':''} ,   
           2: {'position':'-6', 'direction':'up'  , 'status':'idle', 'gap':'', 'priority':''}
}

def findElevator(userPosition, userDirection):
  for i in elevatorList:
    elevatorPosition = int(elevatorList[i]['position'])
    elevatorDirection = str(elevatorList[i]['direction'])
    if (elevatorPosition == userPosition) & (elevatorDirection == userDirection):
      elevatorList[i]['priority'] = 55
      bestElevator = elevatorList[i]
      return bestElevator
    else:
      print('doesnt work ')

findElevator(userPosition, userDirection)
print(bestElevator)

1 Ответ

1 голос
/ 15 февраля 2020
bestElevator = findElevator(userPosition, userDirection)
print(bestElevator)

Переменная bestElevator внутри блока if доступна только внутри функции, для которой она была определена.

...