Задача 3. Ситуація ще гірша: ліфт зупиняється лише на кожному третьому поверсі, тож варто їхати на ближчий поверх вище або нижче потрібного. Напишіть в програмі пайтон
if floor % 3 == 0: # Якщо бажаний поверх кратний 3
print("Ліфт зупинятиметься на даному поверсі") # Виведення повідомлення про зупинку на бажаному поверсі
else: # Якщо бажаний поверх не кратний 3
next_floor = floor + (3 - floor % 3) # Обчислення номеру наступного кратного 3 поверху вище за бажаний
prev_floor = floor - (floor % 3) # Обчислення номеру попереднього кратного 3 поверху нижче за бажаний
if abs(next_floor - floor) < abs(prev_floor - floor): # Якщо відстань до наступного кратного 3 поверху менша за відстань до попереднього
print("Ліфт їде на поверх", next_floor) # Виведення повідомлення про наступний кратний 3 поверх вище за бажаний
elif abs(next_floor - floor) > abs(prev_floor - floor): # Якщо відстань до попереднього кратного 3 поверху менша за відстань до наступного
print("Ліфт їде на поверх", prev_floor) # Виведення повідомлення про попередній кратний 3 поверх нижче за бажаний
else: # Якщо відстань до обох кратних 3 поверхів однакова
print("Ліфт їде на поверх", prev_floor, "або", next_floor) # Виведення повідомлення про обидва кратних 3 поверхи, між якими можна вибрати
2 код: current_floor = int(input("На якому поверсі ви знаходитесь? "))
target_floor = int(input("На який поверх вам потрібно? "))
if current_floor == target_floor:
print("Ви вже знаходитесь на цьому поверсі.")
elif current_floor % 3 == target_floor % 3:
print("Ви можете дістатись до цього поверху без зупинок на інших поверхах.")
else:
if abs(current_floor - target_floor) % 3 == 0:
print("Вам слід їхати на ближчий поверх, який зупиняється лише на кожному третьому поверсі.")
else:
print("Вам слід їхати на ближчий поверх, який зупиняється на кожному поверсі, або на ближчий поверх, який зупиняється лише на кожному третьому поверсі.")
Answers & Comments
Обери, який тобі більше підходить
Объяснение:
1 код:
floor = int(input("Введіть бажаний поверх: ")) # Ввід бажаного поверху
if floor % 3 == 0: # Якщо бажаний поверх кратний 3
print("Ліфт зупинятиметься на даному поверсі") # Виведення повідомлення про зупинку на бажаному поверсі
else: # Якщо бажаний поверх не кратний 3
next_floor = floor + (3 - floor % 3) # Обчислення номеру наступного кратного 3 поверху вище за бажаний
prev_floor = floor - (floor % 3) # Обчислення номеру попереднього кратного 3 поверху нижче за бажаний
if abs(next_floor - floor) < abs(prev_floor - floor): # Якщо відстань до наступного кратного 3 поверху менша за відстань до попереднього
print("Ліфт їде на поверх", next_floor) # Виведення повідомлення про наступний кратний 3 поверх вище за бажаний
elif abs(next_floor - floor) > abs(prev_floor - floor): # Якщо відстань до попереднього кратного 3 поверху менша за відстань до наступного
print("Ліфт їде на поверх", prev_floor) # Виведення повідомлення про попередній кратний 3 поверх нижче за бажаний
else: # Якщо відстань до обох кратних 3 поверхів однакова
print("Ліфт їде на поверх", prev_floor, "або", next_floor) # Виведення повідомлення про обидва кратних 3 поверхи, між якими можна вибрати
2 код:
current_floor = int(input("На якому поверсі ви знаходитесь? "))
target_floor = int(input("На який поверх вам потрібно? "))
if current_floor == target_floor:
print("Ви вже знаходитесь на цьому поверсі.")
elif current_floor % 3 == target_floor % 3:
print("Ви можете дістатись до цього поверху без зупинок на інших поверхах.")
else:
if abs(current_floor - target_floor) % 3 == 0:
print("Вам слід їхати на ближчий поверх, який зупиняється лише на кожному третьому поверсі.")
else:
print("Вам слід їхати на ближчий поверх, який зупиняється на кожному поверсі, або на ближчий поверх, який зупиняється лише на кожному третьому поверсі.")