Hướng dẫn how do i print a date of birth in python? - làm cách nào để in ngày sinh trong python?

Các bạn, tôi đang làm một vấn đề để nhập một ngày sinh theo định dạng dd/mm/yyyy

Các hướng dẫn để tuân theo là

  1. Nhắc người dùng nhập ngày sinh dưới đây.

  2. Trích xuất 3 trường bằng cách cắt chuỗi thành 3 lát. Để tách ngày khỏi tháng, trước tiên bạn sẽ cần sử dụng phương thức Find () để tìm vị trí của chém đầu tiên. Để tách tháng trong năm, bạn sẽ cần sử dụng phương pháp rfind() để tìm vị trí của chém cuối cùng.

Tôi đã cố gắng thực hiện các lát chuỗi và nối cùng với việc lập chỉ mục, nhưng tôi khá run rẩy về cách thực hiện, hoặc nếu tôi thậm chí còn làm điều đó. Cũng không được phép sử dụng các tuyên bố có điều kiện.

birthday = input("Enter your date of birth: ",)

day = birthday.find("/")
month = birthday.find("/")
year = birthday.rfind("/")

print("Day: ",day)
print("Month: ", month)
print("Year: ", year)

Định dạng dự kiến ​​là:

Nhập ngày sinh của bạn: 30/8/1985

Ngày: 30

Tháng: 8

Năm: 1985

Hướng dẫn how do i print a date of birth in python? - làm cách nào để in ngày sinh trong python?

slideshowp2

72.1K70 Huy hiệu vàng224 Huy hiệu bạc406 Huy hiệu đồng70 gold badges224 silver badges406 bronze badges

Hỏi ngày 27 tháng 4 năm 2019 lúc 10:13Apr 27, 2019 at 10:13

Hướng dẫn how do i print a date of birth in python? - làm cách nào để in ngày sinh trong python?

2

Sử dụng rfind() là một cách vòng tròn để làm điều đó. Nó sẽ hoạt động, nhưng bạn sẽ tốt hơn với

day, month, year = birthday.split("/")

Nếu người hướng dẫn của bạn nhấn mạnh vào cách tiếp cận ________ 11/________ 12 thì bạn có thể làm theo cách này:

day = birthday[:birthday.find("/")]
month = birthday[birthday.find("/")+1:birthday.rfind("/")]
year = birthday[birthday.rfind("/")+1:]

Có thể là ý định của bài tập là dạy bạn về việc cắt dây thay vì làm thế nào để viết Python có thể đọc được.

Hướng dẫn how do i print a date of birth in python? - làm cách nào để in ngày sinh trong python?

Đã trả lời ngày 27 tháng 4 năm 2019 lúc 10:16Apr 27, 2019 at 10:16

Hướng dẫn how do i print a date of birth in python? - làm cách nào để in ngày sinh trong python?

Nếu bạn có thêm xử lý ngày, mô -đun

day, month, year = birthday.split("/")
3 rất hữu ích:

from datetime import datetime

birthday = input("Enter your date of birth: ")

bday = datetime.strptime(birthday, '%d/%m/%Y')

print(f'Day: {bday.day}')
print(f'Month: {bday.month}')
print(f'Year: {bday.year}')

Một lợi thế quan trọng là điều này giúp ngăn người dùng nhập sai ngày, ví dụ 32 là ngày hoặc 13 là giá trị tháng.advantage is that this helps prevent user from entering wrong date, for example 32 as day or 13 as month value.

Đã trả lời ngày 27 tháng 4 năm 2019 lúc 10:25Apr 27, 2019 at 10:25

Hướng dẫn how do i print a date of birth in python? - làm cách nào để in ngày sinh trong python?

AustinaustinAustin

25.4K4 Huy hiệu vàng22 Huy hiệu bạc47 Huy hiệu đồng4 gold badges22 silver badges47 bronze badges

Đọc từ các tài liệu về

day, month, year = birthday.split("/")
1 và
day, month, year = birthday.split("/")
2. Họ trả lại các chỉ số thấp nhất và cao nhất của các lần xuất hiện được tìm thấy. Vì vậy, bạn nên làm thay thế:

b = "30/8/1985"

first_sep, last_sep = b.find("/"), b.rfind("/")
day = b[:first_sep]
month = b[first_sep+1:last_sep]
year = b[last_sep+1:]

print("Day: ", day)
print("Month: ", month)
print("Year: ", year)

Output:

Day:  30
Month:  8
Year:  1985

Đã trả lời ngày 27 tháng 4 năm 2019 lúc 10:26Apr 27, 2019 at 10:26

Hướng dẫn how do i print a date of birth in python? - làm cách nào để in ngày sinh trong python?

birthday = input("Enter your date of birth: ",)
birthday_list = birthday.split("/")
print("Day: ",birthday_list[0])
print("Month: ", birthday_list[1])
print("Year: ", birthday_list[2])

Đã trả lời ngày 27 tháng 4 năm 2019 lúc 10:18Apr 27, 2019 at 10:18

Hướng dẫn how do i print a date of birth in python? - làm cách nào để in ngày sinh trong python?

ChrischrisChris

3525 Huy hiệu bạc16 Huy hiệu Đồng5 silver badges16 bronze badges

0

Bạn có thể sử dụng Regex.

birthday = input("Enter your date of birth: ",)
match = re.search(r'\d{4}-\d{2}-\d{2}', birthday)
date = datetime.strptime(match.group(), '%Y-%m-%d').date()

Sau đó, bạn có thể nhận được ngày, tháng, năm từ đó. Vui lòng tham khảo https://docs.python.org/3/l Library/datetime.html#date- objects

Đã trả lời ngày 27 tháng 4 năm 2019 lúc 10:22Apr 27, 2019 at 10:22

Hướng dẫn how do i print a date of birth in python? - làm cách nào để in ngày sinh trong python?

Điều này hoạt động một cách chi tiêu:

import datetime

birthday = input('Enter your birthday in dd/mm/yyyy format')
day, month, year = list(map(int, birthday.split("/")))
birthdate = datetime.date(year, month, day)

print(f"Birthday is on {birthdate.strftime('%d/%m/%Y')}")

Đã trả lời ngày 17 tháng 5 năm 2019 lúc 7:18May 17, 2019 at 7:18

Hướng dẫn how do i print a date of birth in python? - làm cách nào để in ngày sinh trong python?

MalyajmalyajMalyaj

Phù hiệu 231 Huy hiệu Bạc61 silver badge6 bronze badges

Làm cách nào để in một ngày trong Yyyy MM DD trong Python?

Chức năng strftime () để định dạng ngày đến yyyymmdd trong python.Strftime () được sử dụng để chuyển đổi đối tượng DateTime thành một chuỗi có định dạng nhất định.Chúng ta có thể chỉ định định dạng cho yyyy-mm-dd trong hàm là%y-%m-%d.Lưu ý rằng hàm này trả về ngày dưới dạng chuỗi. to Format Date to YYYYMMDD in Python. The strftime() is used to convert a datetime object to a string with a given format. We can specify the format for YYYY-MM-DD in the function as %Y-%m-%d . Note that this function returns the date as a string.

Làm cách nào để hiển thị ngày trong Python?

Hôm nay () Phương thức ngày hôm nay () của lớp Date trong mô -đun DateTime trả về một đối tượng ngày chứa giá trị của ngày hôm nay.Trả về: Trả lại ngày địa phương hiện tại. The today() method of date class under DateTime module returns a date object which contains the value of Today's date. Returns: Return the current local date.

Làm cách nào để in một ngày ở một định dạng cụ thể trong Python?

Ví dụ 15: định dạng ngày sử dụng strftime ()..
%Y - năm [0001, ..., 2018, 2019, ..., 9999].
%M - Tháng [01, 02, ..., 11, 12].
%d - ngày [01, 02, ..., 30, 31].
%H - giờ [00, 01, ..., 22, 23 ..
%M - phút [00, 01, ..., 58, 59].
%S - thứ hai [00, 01, ..., 58, 59].