def find_seat_details(seat_number):
"""
Определяет номер вагона, купе и места по номеру места в поезде.
:param seat_number: Номер места (1-based)
:return: Кортеж (номер вагона, номер купе, номер места)
"""
seats_per_wagon = 60
seats_per_coupe = 6
wagon_number = (seat_number - 1) // seats_per_wagon + 1
coupe_number = ((seat_number - 1) % seats_per_wagon) // seats_per_coupe + 1
place_number = (seat_number - 1) % seats_per_coupe + 1
return wagon_number, coupe_number, place_number
def main():
print("Добро пожаловать в систему определения мест в поезде!")
while True:
try:
seat_input = input("Введите номер места (или 'exit' для выхода): ")
if seat_input.lower() == 'exit':
print("Спасибо за использование системы! До свидания!")
break
seat_number = int(seat_input)
if seat_number <= 0:
raise ValueError("Номер места должен быть положительным целым числом.")
max_seat_number = 10000
if seat_number > max_seat_number:
raise ValueError(f"Номер места не должен превышать {max_seat_number}.")
wagon, coupe, place = find_seat_details(seat_number)
print(f"\nМесто №{seat_number} находится в вагоне {wagon}, купе {coupe}, место {place}.\n")
except ValueError as e:
print(f"Ошибка ввода: {e}. Пожалуйста, попробуйте снова.\n")
except Exception as e:
print(f"Произошла непредвиденная ошибка: {e}. Пожалуйста, попробуйте снова.\n")
if __name__ == "__main__":
main()
Представим, что у нас поезд.
В вагоне большое количество купе
В каждом вагоне по 10 купе.
В каждом купе по 6 пассажирских мест.
Тогда всего в вагоне 60 мест и 61 место будет во втором вагоне в первом купе на первом месте
тогда место №10 будет = 1 вагон, 2 купе, 4 место
Sample Input 1:
17
Sample Output 1:
1 3 5
Sample Input 2:
60
Sample Output 2:
1 10 6
Sample Input 3:
72
Sample Output 3:
2 2 6