
Напишите программу поиска ближайшего лифта в python , в которой пользователь вводит с клавиатуры
количество лифтов, лифт, на котором сейчас находится, и положение лифта 1,2,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=" ")



Для решения этой задачи, мы можем написать программу, которая вычисляет расстояние между текущим положением пользователя и каждым из лифтов, а затем выводит номер лифта с минимальным расстоянием. Вот пример программы на Python:
pythondef find_nearest_elevator(num_elevators, current_elevator, elevator_positions):
user_position = int(input("Введите положение пользователя: "))
# Проверка ввода на корректность
if current_elevator < 1 or current_elevator > num_elevators:
print("Ошибка: неверный номер текущего лифта")
return
if len(elevator_positions) != num_elevators:
print("Ошибка: количество положений лифтов не соответствует числу лифтов")
return
# Рассчитываем расстояние от пользователя до каждого лифта
distances = [abs(user_position - position) for position in elevator_positions]
# Находим номер лифта с минимальным расстоянием
nearest_elevator = distances.index(min(distances)) + 1
print(f"Ближайший лифт: {nearest_elevator}")
if __name__ == "__main__":
num_elevators = int(input("Введите количество лифтов: "))
current_elevator = int(input("Введите номер текущего лифта: "))
elevator_positions = [int(input(f"Введите положение лифта {i+1}: ")) for i in range(num_elevators)]
find_nearest_elevator(num_elevators, current_elevator, elevator_positions)
Пример использования программы:
yamlВведите количество лифтов: 3
Введите номер текущего лифта: 2
Введите положение лифта 1: 10
Введите положение лифта 2: 5
Введите положение лифта 3: 12
Введите положение пользователя: 8
Ближайший лифт: 2
Это простая программа, которая поможет определить ближайший лифт на основе текущего положения пользователя и положений всех лифтов.


Похожие вопросы
Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili