BÀI TẬP XỬ LÝ CHUỖI TRONG PYTHON


BÀI TẬP XỬ LÝ CHUỖI TRONG PYTHON

Bài 1. camelCase 


Trong một số ngôn ngữ, người ta thường sử dụng cách viết camelCase (còn được gọi là “chữ hoa hỗn hợp”) cho tên biến khi các tên đó bao gồm nhiều từ, theo đó chữ cái đầu tiên của từ đầu tiên là chữ thường nhưng chữ cái đầu tiên của mỗi từ tiếp theo là chữ hoa. Ví dụ: trong khi một biến cho tên người dùng có thể được gọi name, một biến cho tên của người dùng có thể được gọi firstName và một biến cho tên ưa thích của người dùng (ví dụ: biệt danh) có thể được gọi preferredFirstName
Ngược lại, Python khuyến nghị viết snake_case , theo đó các từ được phân tách bằng dấu gạch dưới ( _), với tất cả các chữ cái viết thường. Ví dụ: các biến tương tự đó sẽ được gọi tương ứng name là , first_namepreferred_first_name, trong Python. 
Trong tệp có tên camel.py, hãy triển khai một chương trình nhắc người dùng nhập vào tên của một biến ở dạng camelCase và xuất ra tên tương ứng ở dạng snake_case. Giả sử rằng đầu vào của người dùng thực sự sẽ ở dạng camelCase

Bài 3. File extension 

Mặc dù Windows và macOS đôi khi ẩn phần mở rộng của tệp nhưng hầu hết các tệp đều có phần mở rộng tệp , hậu tố bắt đầu bằng dấu chấm ( .) ở cuối tên của chúng. Ví dụ: tên tệp cho ảnh GIF kết thúc bằng .gif, và tên tệp cho ảnh JPEG kết thúc bằng .jpg hoặc .jpeg. Khi bạn bấm đúp vào một tệp để mở tệp đó, máy tính của bạn sẽ sử dụng phần mở rộng tệp của tệp đó để xác định chương trình nào sẽ khởi chạy.

 Ngược lại, các trình duyệt web dựa vào các loại phương tiện , trước đây gọi là loại MIME, để xác định cách hiển thị các tệp trực tuyến trên web. Khi bạn tải xuống tệp từ máy chủ web, máy chủ đó sẽ gửi tiêu đề HTTP , cùng với chính tệp đó, cho biết loại phương tiện của tệp. Ví dụ: loại phương tiện cho ảnh GIF là image/gif, và loại phương tiện cho JPEG là image/jpeg. Để xác định loại phương tiện cho một tệp, máy chủ web thường xem xét phần mở rộng của tệp, ánh xạ phần mở rộng này với phần mở rộng khác.

 Xem https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types 

để biết các loại phổ biến. Hãy viết tệp có tên extensions.py, hãy triển khai chương trình nhắc người dùng nhập tên tệp rồi xuất ra loại phương tiện của tệp đó nếu tên tệp kết thúc, không phân biệt chữ hoa chữ thường, với bất kỳ hậu tố nào sau đây: 

  •  .gif 
  •  .jpg 
  •  .jpeg 
  •  .png 
  •  .pdf 
  •  .txt 
  •  .zip 

Nếu tên của tệp kết thúc bằng một số hậu tố khác hoặc không có hậu tố nào cả, hãy xuất ra application/octet-stream, đây là một mặc định phổ biến.

Kiểm tra / testing: 

  •  Chạy chương trình và gõ happy.jpg và nhấn Enter -> chương trình in ra: image/jpeg 
  • Chạy chương trình và gõ document.pdf và nhấn Enter -> chương trình in ra: application/pdf
Bài 4. Biển số
Ở Massachusetts, nơi có Đại học Harvard, bạn có thể yêu cầu biển số xe phù hợp cho ô tô của mình, với sự lựa chọn của bạn về các chữ cái và số thay vì các ký tự ngẫu nhiên. Tuy nhiên, trong số các yêu cầu là:
  • Tất cả biển số xe phải bắt đầu bằng ít nhất hai chữ cái. 
  • Biển số xe du lịch, xe cắm trại, xe Livery, xe buýt và xe thương mại có thể chứa tối đa 6 ký tự (chữ cái hoặc số) và tối thiểu 2 ký tự. Biển số xe du lịch cho xe cổ có thể chứa tối đa 4 ký tự và tối thiểu 2 ký tự. Biển số xe máy có thể chứa tối đa 5 ký tự và tối thiểu 2 ký tự.
  • Không thể sử dụng số ở giữa biển số; chúng phải ở cuối. Ví dụ, AAA222 sẽ là biển số vanity dành cho hành khách được chấp nhận; AAA22A sẽ không được chấp nhận. Số đầu tiên được sử dụng không thể là "0". 
  • Các chữ cái "I", "O", "Q" và "U" CHỈ có thể được sử dụng như một phần của từ được định nghĩa rõ ràng và viết đúng chính tả. Ví dụ, "LQQK" sẽ không phải là số đăng ký được chấp nhận vì nó không phải là từ được viết đúng chính tả.
  • Không được phép sử dụng dấu chấm, khoảng cách hoặc dấu câu.
Trong plates.py, hãy triển khai một chương trình nhắc người dùng nhập vào một biển số rồi xuất ra "Valid'' nếu đáp ứng tất cả các yêu cầu hoặc "Invalid" nếu không.

Bài 5. Meal time 
Giả sử bạn đang ở một đất nước có phong tục ăn sáng từ 7 giờ đến 8 giờ, bữa trưa từ 12 giờ đến 13 giờ và bữa tối từ 18 giờ đến 19 giờ. Sẽ thật tuyệt nếu bạn có một chương trình có thể cho bạn biết nên ăn gì khi nào? 
Trong meal.py, triển khai một chương trình nhắc người dùng về thời gian và đưa ra kết quả là breakfast time, lunch time, hay dinner time. Nếu chưa đến giờ ăn thì đừng nói gì cả. Giả sử rằng đầu vào của người dùng sẽ được định dạng trong thời gian 24 giờ dưới dạng #:## hoặc ##:##. Và giả sử rằng khoảng thời gian của mỗi bữa ăn đều được bao gồm. Ví dụ: cho dù lúc đó là 7:00, 7:01, 7:59 hay 8:00 hay bất cứ lúc nào trong khoảng thời gian đó thì đã đến giờ ăn sáng.
Ví dụ: cho một time như "7:30" (tức là 7 giờ 30 phút), convert sẽ trả về 7.5 (tức là 7,5 giờ). 

Nhận xét