Tulis program python untuk mendapatkan jumlah hari pada bulan dan tahun tertentu

Dalam tutorial ini, kita akan membahas cara menulis program Python untuk menemukan jumlah hari antara dua angka yang diberikan

Misalkan kita telah memberikan dua tanggal hasil yang kita harapkan

Contoh

Metode 1. Pendekatan Naif

Dalam pendekatan ini, solusi naif akan dimulai dari tanggal_1, dan akan terus menghitung jumlah hari hingga mencapai tanggal_2. Solusi ini akan membutuhkan lebih dari O(1) kali. Ini adalah solusi sederhana untuk menghitung jumlah hari sebelum tanggal_1, yang berarti akan menghitung jumlah hari dari 00/00/0000 hingga tanggal_1, kemudian akan menghitung jumlah hari sebelum tanggal_2. Terakhir, ini akan mengembalikan selisih antara dua hitungan dalam bentuk total hari antara dua tanggal yang diberikan

Contoh

Keluaran

Number of Days between the given Dates are:  322 days

Metode 2. Dengan menggunakan modul datetime Python

Dalam metode ini, kita akan melihat bagaimana kita dapat menggunakan fungsi built_in dari Python "datetime", yang dapat membantu pengguna dalam memecahkan berbagai masalah terkait tanggal-waktu. Untuk menemukan perbedaan antara dua tanggal, kita dapat memasukkan dua tanggal dalam format tipe tanggal dan menguranginya, dan ini akan menghasilkan keluaran sebagai jumlah hari antara dua tanggal yang diberikan

Contoh

Keluaran

Number of Days between the given Dates are:  513 days
_

Kesimpulan

Dalam tutorial ini, kita telah membahas dua metode berbeda tentang cara menulis kode python untuk menemukan jumlah hari antara dua tanggal yang diberikan

Saya telah mencoba mencari cara untuk mencapai apa yang ada di judul, tanpa menggunakan lib kalender/datetime yang diimpor dari Python. Ada sedikit fungsi di bagian atas untuk memeriksa apakah tahun tersebut merupakan tahun kabisat atau tidak, yang ingin saya rujuk saat mencetak jumlah hari pada bulan Februari tertentu, namun saya tidak terlalu yakin bagaimana melakukannya. (Saya sudah menebak dengan sesuatu seperti output. bla bla)

Sejauh ini saya telah menemukan sesuatu seperti ini, yang seharusnya memperjelas apa yang ingin saya lakukan, tetapi saya masih sedikit baru di Python, jadi saya ingin beberapa tip/bantuan untuk memperbaiki kode saya untuk tugas tersebut

# 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'

Oke, saya telah memperbaiki kode saya, dan tampaknya menampilkan data yang benar untuk setiap bulan kecuali bulan Februari

# 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

Adakah petunjuk untuk memperbaiki keluaran untuk bulan Februari?

EDIT. Hanya perlu menambahkan tahun argumen saat mereferensikan fungsi pertama. Ini adalah kode yang 100% berfungsi untuk referensi di masa mendatang

Catatan. sementara mengonversi jumlah hari yang diberikan ke tahun, bulan dan hari, pembagian bilangan bulat digunakan. Dalam Python, pembagian bilangan bulat dilakukan dengan menggunakan operator //

Kode Sumber Python. Konversi Hari ke Tahun, Bulan & Hari


# 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)
_

Keluaran

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

Misalkan kita memiliki satu tahun Y dan satu bulan M, kita harus mengembalikan jumlah hari di bulan itu untuk tahun tertentu. Jadi jika Y = 1992 dan M = 7 maka hasilnya adalah 31, jika tahunnya 2020, dan M = 2 maka hasilnya adalah 29

Untuk mengatasi ini, kami akan mengikuti langkah-langkah ini −

  • jika m = 2, maka
    • jika y adalah tahun kabisat, kembalikan 29, jika tidak 28
  • buat array dengan elemen [1,3,5,7,8,10,12]
  • jika m ada dalam daftar, maka kembalikan 31, jika tidak, kembalikan 30

Contoh (Python)

Mari kita lihat implementasi berikut untuk mendapatkan pemahaman yang lebih baik −

Demo Langsung

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))
_

Memasukkan

2020
2

Keluaran

29
_

Tulis program python untuk mendapatkan jumlah hari pada bulan dan tahun tertentu


Tulis program python untuk mendapatkan jumlah hari pada bulan dan tahun tertentu

Bagaimana kita menentukan jumlah hari untuk bulan tertentu dengan Python?

atribut daysinmonth dari objek Timestamp (setara dengan objek datetime Python) digunakan untuk mendapatkan jumlah hari yang ada dalam sebulan.

Bagaimana cara menghitung jumlah hari di antara tanggal dengan Python?

datetime() modul . Kita cukup memasukkan dua tanggal dengan jenis tanggal dan mengurangkannya untuk menemukan selisih antara dua tanggal, yang memberi kita jumlah hari di antara keduanya .

Bagaimana Anda mencetak kalender bulanan untuk tahun dan bulan yang ditentukan dengan Python?

Untuk mencetak kalender dengan Python, kami mengimpor modul kalender, yang akan mengimpor semua kelas modul. Kemudian kami menetapkan nilai ke variabel untuk tahun di mana kami ingin kalender dicetak. Demikian pula, kami menetapkan nilai ke variabel untuk bulan di mana kami ingin kalender dicetak

Bagaimana Anda menghitung bulan dan tahun dengan Python?

Metode 1. Gunakan DatetimeIndex. month atribut untuk menemukan bulan dan menggunakan DatetimeIndex. atribut tahun untuk menemukan tahun yang ada di Tanggal .