Chuyển đổi thời gian giải pháp hackerrank python

hours, minutes, seconds, am_pm = s[0:2], s[3:5], s[6:8], s[8:10]
4 không phải là một tên hàm mang tính mô tả cao. Nó đang chuyển đổi từ cái gì và nó đang chuyển đổi thành cái gì? . Sẽ tốt hơn nếu hàm trả về kết quả của nó thay vì in nó, để người gọi hàm có thể quyết định phải làm gì với kết quả

Một chức năng phải có một chuỗi tài liệu, đặc biệt là một chức năng như thế này mong muốn đầu vào của nó ở một định dạng rất cụ thể

Bạn nên đặt định nghĩa chức năng đầu tiên. Đặt một định nghĩa hàm vào giữa chương trình "chính" khiến mã của bạn khó hiểu hơn

Cho đến nay, chúng tôi sẽ có…

def convert_12h_to_24h[s]:
    """
    Convert a time from a 12-hour format into 24-hour format.

    The input should be a 10-character string like "01:23:45PM", and the
    output would be "13:23:45".
    """
    …
    return …

s = "05:43:12AM"
print[convert_12h_to_24h[s]]

Biến

hours, minutes, seconds, am_pm = s[0:2], s[3:5], s[6:8], s[8:10]
6 là một sự lựa chọn tồi về tên biến, bởi vì nó khiến tôi liên tưởng đến các múi giờ. Tôi không biết chính xác thuật ngữ phù hợp trong nửa ngày, nhưng tôi sẽ chọn
hours, minutes, seconds, am_pm = s[0:2], s[3:5], s[6:8], s[8:10]
7 cho tên biến

Tương tự như vậy,

hours, minutes, seconds, am_pm = s[0:2], s[3:5], s[6:8], s[8:10]
8 là một tên biến kém. Bạn chỉ có thể gọi nó là
hours, minutes, seconds, am_pm = s[0:2], s[3:5], s[6:8], s[8:10]
0 một lần nữa

Hơi lạ là

hours, minutes, seconds, am_pm = s[0:2], s[3:5], s[6:8], s[8:10]
0 là số ít, nhưng
hours, minutes, seconds, am_pm = s[0:2], s[3:5], s[6:8], s[8:10]
2 và
hours, minutes, seconds, am_pm = s[0:2], s[3:5], s[6:8], s[8:10]
3 là số nhiều

hours, minutes, seconds, am_pm = s[0:2], s[3:5], s[6:8], s[8:10]
4 là vô nghĩa — bạn chỉ có thể sử dụng trực tiếp
hours, minutes, seconds, am_pm = s[0:2], s[3:5], s[6:8], s[8:10]
5

Các câu lệnh gán nhiều biến để trích xuất các phần của chuỗi có thể được viết đẹp hơn bằng cách sử dụng các lát cắt chuỗi và phép gán nhiều biến

hours, minutes, seconds, am_pm = s[0:2], s[3:5], s[6:8], s[8:10]

Tôi khuyên bạn nên mổ xẻ chuỗi bằng cách lập chỉ mục từ cuối, để nó hoạt động cho dù có

hours, minutes, seconds, am_pm = s[0:2], s[3:5], s[6:8], s[8:10]
6 ở đầu hay không

hours, minutes, seconds, am_pm = s[-10:-8], s[-7:-5], s[-4:-2], s[-2:]

Để tất cả chúng cùng nhau

Một thay đổi bổ sung mà tôi sẽ thực hiện là hoán đổi hai nhánh đầu tiên nếu chuỗi

hours, minutes, seconds, am_pm = s[0:2], s[3:5], s[6:8], s[8:10]
7 của bạn có tính nhất quán

Ghi chú. Nửa đêm là 12. 00. 00AM trên đồng hồ 12 giờ và 00. 00. 00 trên đồng hồ 24 giờ. trưa là 12. 00. 00PM trên đồng hồ 12 giờ và 12. 00. 00 trên đồng hồ 24 giờ

Mô tả chức năng

Hoàn thành chức năng chuyển đổi thời gian trong trình chỉnh sửa bên dưới. Nó sẽ trả về một chuỗi mới biểu thị thời gian đầu vào ở định dạng 24 giờ

timeConversion có [các] tham số sau

  • s. một chuỗi biểu thị thời gian ở định dạng 12 giờ

Định dạng đầu vào

Một chuỗi s chứa thời gian ở định dạng đồng hồ 12 giờ [i. e. hh. mm. ssAM hoặc hh. mm. ssPM], trong đó 01

Chủ Đề