Bài tập  /  Bài đang cần trả lời

Dùng Python viết chương trình trên máy tính giải bài toán: Cho ngày, tháng, năm hãy cho biết là ngày, thứ mấy?

Dùng Python viết chương trình trên máy tính giải bài toán: Cho ngày, tháng, năm hãy cho biết là ngày, thứ mấy.    (Bài tập rẽ nhánh)
 

2 trả lời
Hỏi chi tiết
94
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Đây là đoạn code Python để giải bài toán trên:

```python
import datetime

def find_day_of_week(day, month, year):
day_of_week = datetime.date(year, month, day).weekday()
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
return days[day_of_week]

day = int(input("Nhập ngày: "))
month = int(input("Nhập tháng: "))
year = int(input("Nhập năm: "))

result = find_day_of_week(day, month, year)
print(f"Ngày {day}/{month}/{year} là ngày {result}")
```

Bạn có thể chạy đoạn code trên trên máy tính của mình và nhập ngày, tháng, năm để xem kết quả là ngày thứ mấy.
1
1
GUNTER OBERDORF ...
10/03 21:40:27
+5đ tặng
def is_leap_year(year):
    if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
        return True
    else:
        return False

def day_of_week(day, month, year):
    # Các tháng có 31 ngày
    m 3, 5, 7, 8, 10, 12]
    # Các tháng có 30 ngày
    m 6, 9, 11]

    total_days = day

    for i in range(1, month):
        if i in months_31:
            total_days += 31
        elif i in months_30:
            total_days += 30
        else:
            if is_leap_year(year):
                total_days += 29
            else:
                total_days += 28

    # Tính ngày thứ mấy trong tuần
    day_of_week = (total_days + year - 1 + (year - 1) // 4 - (year - 1) // 100 + (year - 1) // 400) % 7
    return day_of_week

def main():
    day = int(input("Nhập ngày: "))
    m tháng: "))
    year = int(input("Nhập năm: "))

    day_number = day_of_week(day, month, year)

    # In ra kết quả
    if day_number == 0:
        print("Ngày thứ hai")
    elif day_number == 1:
        print("Ngày thứ ba")
    elif day_number == 2:
        print("Ngày thứ tư")
    elif day_number == 3:
        print("Ngày thứ năm")
    elif day_number == 4:
        print("Ngày thứ sáu")
    elif day_number == 5:
        print("Ngày thứ bảy")
    elif day_number == 6:
        print("Ngày chủ nhật")

if __name__ == "__main__":
    main()

 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập
1
2
quangcuongg
10/03 21:40:32
+4đ tặng
from datetime import datetime

def ngay_thu_may(ngay, thang, nam):
    try:
        # Tạo đối tượng datetime từ ngày tháng năm được cung cấp
        ngay_thang_nam = datetime(nam, thang, ngay)
        
        # Lấy ngày trong tuần (0: Thứ 2, 1: Thứ 3, ..., 6: Chủ nhật)
        thu = ngay_thang_nam.weekday()
        
        # Chuyển đổi giá trị số của ngày trong tuần thành tên của ngày
        thu_tr Hai", "Thứ Ba", "Thứ Tư", "Thứ Năm", "Thứ Sáu", "Thứ Bảy", "Chủ Nhật"]
        
        # Trả về kết quả
        return thu_trong_tuan[thu]
    
    except ValueError:
        return "Ngày tháng năm không hợp lệ."

# Nhập ngày, tháng và năm từ người dùng
ngay = int(input("Nhập ngày: "))
thang = int(input("Nhập tháng: "))
nam = int(input("Nhập năm: "))

# Gọi hàm và in kết quả
print("Ngày", ngay, "/", thang, "/", nam, "là", ngay_thu_may(ngay, thang, nam))
 

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập Tin học Lớp 10 mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Gia sư Lazi Gia sư
×
Trợ lý ảo Trợ lý ảo