Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 25.05.2023
Сообщений: 7

Отредактируйте готовый код, под данную задачу

25.05.2023, 06:53. Показов 2581. Ответов 1

Студворк — интернет-сервис помощи студентам
Задача:
Месяц.день.год (мм.дд.гггг)- это устаревший формат записи даты. Современный международный стандарт даты ISO 8601 (ГОСТ) имеет формат год-месяц-день (гггг-мм-дд).
В файле outdated.py реализуйте программу, она приглашает ввести дату (input("Дата: ")) в старом формате, например, 11.12.1968 или 11 декабрь 1968, где месяц имеет любое значение из списка:

["январь", "февраль", "март", "апрель",
"май", "июнь", "июль", "август", "сентябрь", "октябрь",
"ноябрь", "декабрь"]

Затем программа возвращает дату в формате гггг-мм-дд. Если дата введена неправильно, программа просит ввести снова. Предположим, что день принимает значения от 1 до 31; не надо учитывать, что некоторые месяца могут иметь меньше дней. Если месяц задан числом, то оно в должно быть 1-12.

Готовый код:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
months = ["январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь"]
 
def is_valid_date(date_str):
    try:
        if "." in date_str:
            day, month, year = map(int, date_str.split("."))
        else:
            parts = date_str.split()
            day, month, year = int(parts[0]), months.index(parts[1]) + 1, int(parts[2])
        if month < 1 or month > 12 or day < 1 or day > 31 or year < 1:
            return false
        return True
    except:
        return False
 
def convert_to_iso(date_str):
    if "." in date_str:
        day, month, year = map(int, date_str.split("."))
    else:
        parts= date_str.split()
        day, month, year = int(parts[0]), months.index(parts[1]) + 1, int(parts[2])
    return f"{year:04d}-{month:02d}-{day:02d}"
 
while True:
    date_str = input("Дата: ")
    if is_valid_date(date_str):
        iso_date = convert_to_iso(date_str)
        print(iso_date)
        break
    else:
        print("Неправильный формат даты. Попробуйте ещё раз.")
Что нужно сделать:
Запустите программу python outdated.py. Введите 8 март 2023 и нажмите Enter, Ваша программа должна вывести:

2023-03-08

Запустите программу python outdated.py. Введите 8.3.2023 и нажмите Enter, Ваша программа должна вывести:

2023-03-08

Запустите программу python outdated.py. Введите 8.23.2023 и нажмите Enter, Программ должна повтроить пргилашение.
Запустите программу python outdated.py. Введите март 8 2023 и нажмите Enter, Программ должна повторить приглашение.

Код при неправильном формате выдает "сообщение", мне нужна программа без "сообщения об ошибке", а чтобы просто повторно давала шанс ввести корректно дату.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.05.2023, 06:53
Ответы с готовыми решениями:

Переведите, пожалуйста код с Паскаля на QBasic и отредактируйте код под условие задачи
Ниже расположено условие задачи. Даны натуральное число m, целые числа {a}_{l},...,{a}_{lm} и целочисленная квадратная матрица порядка m....

Отредактируйте код под задания
16. PhoneBook: Фамилия, Имя, Отчество, Номер телефона, Адрес, Место работы. Создать массив объектов. Вывести: а) список записей по...

подайте мысль с программой, пожалуйста. Не знаю, как реализовать данную задачу в код
Реализовать необходимую структуру данных с помощью одной структуры хранения (векторной или связной). Реализацию оформить в виде класса. ...

1
 Аватар для TimutGin
515 / 339 / 146
Регистрация: 16.02.2021
Сообщений: 626
25.05.2023, 08:17
Лучший ответ Сообщение было отмечено qudi как решение

Решение

Чтоб небыло 'сообщения об ошибке' удалить последние 2 строки
Python
1
2
    else:
        print("Неправильный формат даты. Попробуйте ещё раз.")
Значения в списке month можно изменить на 'января','февраля','марта' и т.д.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.05.2023, 08:17
Помогаю со студенческими работами здесь

Отредактируйте задачу
Задача: выдается ошибка на строке'edt4.Text:=FloatToStr(m)' - Unit1.pas(48): Incompatible types: 'Real' and 'String' procedure...

Диспетчер задач, который закрывает задачу, когда вводишь полное имя задачи. Поясните готовый код
Есть код на Ассемблере. Мне нужен псевдокод по данному коду, с описанием. Если кому не сложно, не могу разобраться что к чему. Можно...

Переделать готовый код с NASM в TASM под DosBox
section .text org 0x100 mov si,arr+1 mov bh,0 mov bl,2 mov cx,8 first: mov al,byte

Готовый код.Как перестроить структуру под класс.wxDex-C++
Всем доброго вечера и хорошего настроения! Знатоки C/C++ подскажите как &quot;переделать&quot; готовую программку для использования её с...

Переделать код под поставленную задачу
Заранее спасибо. Нужно переделать код под приведенную задачу: Пусть рассматривается два подразделения, в первом подразделении работает m...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru