Chương trình python để nhập số tháng và in số ngày trong tháng đó

Viết chương trình Python có phương thức print_month_name() chấp nhận một số trong phạm vi từ 1 đến 12 và in tên tháng

Ví dụ người dùng nhập tháng = 1 thì hiển thị tên tháng là January

Video hướng dẫn

bước

1. Đầu tiên, chúng ta xác định phương thức print_month_name() chấp nhận một đối số là x

2. Tiếp theo ta kiểm tra giá trị của x có phải là 1 không thì in ra tháng 1, nếu x bằng 2 thì in ra tháng 2, v.v.

3. Tiếp theo, đọc năm từ người dùng và chuyển năm sang phương thức is_leap_year()

Mã nguồn của Chương trình Python để hiển thị tên tháng dựa trên đầu vào của người dùng

def print_month_name(x): if (x==1): print ("Jan") if (x==2): print("Feb") if (x==3): print("March") if (x==4): print("April") if (x==5): print("May") if (x==6): print("June") if (x==7): print("July") if (x==8): print("August") if(x==9): print("September") if(x==10): print("October") if(x==11): print("November") if(x==12): print("December") if(x<1 or x>12): print("Invalid input") month = int(input("Enter the month number: ")) print_month_name(month)

đầu ra

Trường hợp 1

Xem thêm   Lớp và đối tượng trong Python

Nhập số tháng. 1
Tháng 1

trường hợp 2

Nhập số tháng. 6
Tháng 6

trường hợp 3

Nhập số tháng. 13
Thông tin nhập không hợp lệ

Trường hợp 4

Nhập số tháng. -10
Thông tin nhập không hợp lệ

Nếu bạn thích hướng dẫn chia sẻ nó với bạn bè của bạn. Thích trang Facebook để cập nhật thường xuyên và thích kênh YouTube để xem video hướng dẫn

Ghi chú. trong khi chuyển đổi số ngày đã cho thành năm, tháng và ngày phép chia số nguyên được sử dụng. Trong Python, phép chia số nguyên được thực hiện bằng cách sử dụng toán tử //

Mã nguồn Python. Chuyển đổi ngày sang năm, tháng và ngày

# Python program to convert # given number of days to years, months and days # Reading number of days from user number_of_days = int(input("Enter number of days: ")) # Calculating years years = number_of_days // 365 # Calculating months months = (number_of_days - years *365) // 30 # Calculating days days = (number_of_days - years * 365 - months*30) # Displaying results print("Years = ", years) print("Months = ", months) print("Days = ", days)

đầu ra

Enter number of days: 3000 Years = 8 Months = 2 Days = 20

Tôi đã cố gắng tìm ra cách để hoàn thành nội dung trong tiêu đề mà không cần sử dụng bất kỳ lib lịch/ngày giờ đã nhập nào từ Python. Có một chức năng nhỏ ở trên cùng để kiểm tra xem năm đó có phải là năm nhuận hay không, mà tôi muốn có thể tham chiếu khi in số ngày trong một tháng Hai nhất định, tuy nhiên tôi không chắc lắm về cách thực hiện. (Tôi đã đoán với một cái gì đó như đầu ra. bla bla)

Cho đến nay tôi đã nghĩ ra một thứ như thế này, điều này sẽ làm rõ những gì tôi muốn làm, nhưng tôi vẫn còn hơi mới với Python, vì vậy tôi rất muốn có một số mẹo/trợ giúp để sửa mã của mình cho tác vụ

# A function to determine if a year is a leap year. # Do not change this function. def is_leap_year (year): return (year % 4 == 0) and (year % 100 != 0) or (year % 400 == 0) # You should complete the definition of this function: def days_in_month(month, year): if month == 'September' or month == 'April' or month == 'June' or month == 'November' print 30 elseif month == 'January' or month == 'March' or month == 'May' or month== 'July' or month == 'August' or month == 'October'\ or month== 'December' print 31 elseif month == 'February' and output.is_leap_year = True print 29 elseif month == 'February' and output.is_leap_year = False print 28 else print 'Blank'

Được rồi, tôi đã sửa mã của mình và dường như nó xuất ra dữ liệu chính xác cho mỗi tháng trừ tháng Hai

# A function to determine if a year is a leap year. # Do not change this function. def is_leap_year (year): return (year % 4 == 0) and (year % 100 != 0) or (year % 400 == 0) # You should complete the definition of this function: def days_in_month(month, year): if month in ['September', 'April', 'June', 'November']: print 30 elif month in ['January', 'March', 'May', 'July', 'August','October','December']: print 31 elif month == 'February' and is_leap_year == True: print 29 elif month == 'February' and is_leap_year == False: print 28

Bất kỳ gợi ý nào để sửa lỗi xuất cho tháng Hai?

CHỈNH SỬA. Chỉ cần thêm năm đối số khi tham chiếu hàm đầu tiên. Đây là mã làm việc 100% để tham khảo trong tương lai

Giả sử chúng ta có một năm Y và một tháng M, chúng ta phải trả về số ngày của tháng đó cho năm đã cho. Vì vậy, nếu Y = 1992 và M = 7, thì kết quả sẽ là 31, nếu năm là 2020 và M = 2, thì kết quả là 29

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • nếu m = 2 thì
    • nếu y là năm nhuận, trả về 29, nếu không thì 28
  • tạo một mảng với các phần tử [1,3,5,7,8,10,12]
  • nếu m có trong danh sách thì trả về 31, nếu không thì trả về 30

Ví dụ (Python)

Chúng ta hãy xem triển khai sau đây để hiểu rõ hơn -

Bản thử trực tiếp

class Solution(object):    def numberOfDays(self, y, m):       leap = 0       if y% 400 == 0:          leap = 1       elif y % 100 == 0:          leap = 0       elif y% 4 == 0:          leap = 1       if m==2:          return 28 + leap       list = [1,3,5,7,8,10,12]       if m in list:          return 31       return 30 ob1 = Solution() print(ob1.numberOfDays(2020, 2))

Đầu vào

2020 2

đầu ra

29

Chủ đề