Это python Как раз в эту ночь мы пересекли линию Дат. Вы, наверное, слыхали, молодой человек, что море в этом месте ничего особенного не представляет и самую линию увидеть можно только на карте. Но для удобства плавания как раз тут проделывают некоторые фокусы с календарем: при плавании с запада на восток два дня считают тем же числом, а при плавании с востока на запад проделывают обратное действие – один день вовсе пропускают и вместо «завтра» считают сразу «послезавтра».

Напишите программу для определения даты.

Формат ввода

Вводится строка – направление движения – с запада на восток или с востока на запад, и число – дата.

Формат вывода

Если плывем с запада на восток и число может быть датой (то есть находится в диапазоне от 1 до 31), то вывести это число и OK. Если плывем с востока на запад и число может быть датой, то вывести это число плюс 2 дня, но так, чтобы число снова было датой. Считать, что в месяце 31 день. Если что-то не сложилось, вывести: Ошибочка у вас.

Пример 1

Ввод Вывод

с запада на восток

12

12 OK

Пример 2

Ввод Вывод

с запада на восток

42

Ошибочка у вас.

Пример 3

Ввод Вывод

с востока на запад

30

1

dashasamoylova2 dashasamoylova2    3   25.12.2021 21:30    0

Ответы
marija01021 marija01021  25.12.2021 22:00

Протабулируйте всё сами, если будут ошибки, так как сайт ужасен для передачи кода.

def dateserializer(ft, dt):

if not (1 <= dt <= 31):

  return "Ошибочка у вас."

if ft == "с запада на восток":

return f"{dt} OK"

 

elif ft == "с востока на запад":

  if dt + 2 > 31:

  return (dt + 2) - 31

  return dt

 

 

fromto = input("Откуда и куда: ").lower().strip()

date = int(input("Дата: "))

ifcan = dateserializer(fromto, date)

print(ifcan)

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика