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ếnTươ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ữaHơ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ềuhours, 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]
5Cá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ônghours, 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