C7-05 · Đổi định dạng ngày

Xem dạng PDF

Gửi bài giải

Điểm: 1,00
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
Sách "Lập trình cơ sở với Python"
Dạng bài
Ngôn ngữ cho phép
Python

Nguồn: Bài C7-05, mục 7.10, giáo trình Lập trình cơ sở với Python — TS. Nguyễn Quốc Long.

Đề

Ngày ở Việt Nam thường viết dd/mm/yyyy, còn cơ sở dữ liệu và tên tệp hay dùng dạng quốc tế yyyy-mm-dd. Cho một chuỗi ~s~. Chuỗi được coi là đúng định dạng khi thỏa cả ba điều kiện:

  1. ~s~ dài đúng ~10~ ký tự;
  2. ký tự ở chỉ số ~2~ và chỉ số ~5~ (đếm từ ~0~) là dấu /;
  3. tám ký tự còn lại đều là chữ số 0–9.

Nếu đúng định dạng, in ngày theo dạng yyyy-mm-dd (giữ nguyên các chữ số, kể cả số 0 ở đầu); ngược lại in SAI DINH DANG.

Không cần xét ngày có thật hay không: 31/02/2026 vẫn đúng định dạng và in 2026-02-31.

Dữ liệu vào

Một dòng chứa chuỗi ~s~.

Kết quả

Một dòng: ngày dạng yyyy-mm-dd, hoặc SAI DINH DANG.

Ràng buộc

  • ~1 \le |s| \le 200~; ~s~ gồm ký tự ASCII in được (có thể có chữ cái, dấu câu, dấu cách ở giữa).
  • ~s~ không bắt đầu và không kết thúc bằng dấu cách.

Gợi ý

Lát cắt s[:2], s[3:5], s[6:] (mục 7.1); isdigit() (mục 7.2). Kiểm tra độ dài trước khi truy cập s[2], s[5] để không vượt chỉ số.

Ví dụ 1

Dữ liệu vào:

03/10/2026

Kết quả:

2026-10-03

Ví dụ 2

Dữ liệu vào:

3/10/2026

Kết quả:

SAI DINH DANG

Giải thích ví dụ

  • Ví dụ 1: chuỗi dài 10, s[2] và s[5] là /, các ký tự khác là chữ số. Ngày 03, tháng 10, năm 2026 ghép thành 2026-10-03 — giữ nguyên số 0 của 03.
  • Ví dụ 2: chuỗi chỉ dài 9 ký tự (ngày viết một chữ số) nên sai định dạng.

Nguồn trong sách: bài tập C7-05 (mục 7.10) · Mức: (**)


Đang tải...