Предмет: Информатика, автор: ts22072003

Напишите программу поиска ближайшего лифта в python , в которой пользователь вводит с клавиатуры количество лифтов, лифт, на котором сейчас находится, и положение лифта 1,2,3. Выводится номер ближайшего лифта.


Никита7531: Можно пример входных и выходных данных? И в том случае, если до 2 лифтов одинаковое расстояние, то чей номер выводить?
ts22072003: например всего 10 этажей, я на 1 этаже, 1 лифт на 2 этаже, 2 лифт на 5, 3 лифт на 8. Нужно вывести 1.
ts22072003: если же одинаково то оба номера выводить
Никита7531: То есть количество этажей, а не лифтов?
Никита7531: Вводится количество*
ts22072003: вводится количество этажей, этаж где ты находишься и положение лифтов

Ответы

Автор ответа: Никита7531
3

nums_of_floors = int(input("Введите количество этажей - "))

your_floor = int(input("Введите этаж, на котором находитесь - "))

elev_floors = []

for i in range(1, 4):

elev_floors.append(int(input("На каком этаже находится лифт с номером " + str(i) + "? - ")))

min_range = abs(min(elev_floors, key=lambda x: abs(your_floor - x)) - your_floor)

print ("Ближайшие этажы: ", end="")

for i in range(3):

if abs(your_floor - elev_floors[i]) == min_range:

print(i+1, end=" ")


ts22072003: спасибо)
Никита7531: Можно было и чуть лучше написать, но сейчас нет доступа к компьютеру, поэтому пришлось писать с телефона.
Похожие вопросы