কম্পিউটার টিউটোরিয়াল

পাইথনে বছরের দিন বের করা (Day of the Year in Python)


সমস্যা বিবরণ

"YYYY-MM-DD" ফরম্যাটে একটি তারিখ দেওয়া আছে। বছরের কততম দিন তা বের করতে হবে।

উদাহরণ: "2019-02-10" → ৪১ নম্বর দিন।

সমাধানের পদ্ধতি

  1. মাসানুসারে দিনের কাউন্ট সংরক্ষণ করুন: [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
  2. তারিখ পার্স করে বছর, মাস, দিন বের করুন।
  3. লিপ ইয়ার হলে ফেব্রুয়ারি ২৯ দিন করুন (বর্ষ ৪০০ দিয়ে ভাগশেষ ০ অথবা ৪ দিয়ে ভাগশেষ ০ কিন্তু ১০০ দিয়ে না)।
  4. প্রদত্ত মাসের আগ পর্যন্ত মোট দিন + বর্তমান দিন = বছরের দিন।

পাইথন উদাহরণ

class Solution(object):
    def dayOfYear(self, date):
        days = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
        y, m, d = map(int, date.split("-"))
        
        # লিপ ইয়ার চেক
        if y % 400 == 0 or (y % 4 == 0 and y % 100 != 0):
            days[2] = 29
        
        # ক্যুমুলেটিভ দিন ক্যালকুলেট
        for i in range(1, len(days)):
            days[i] += days[i-1]
        
        return days[m-1] + d

ob1 = Solution()
print(ob1.dayOfYear("2019-02-10"))

ইনপুট

"2019-02-10"

আউটপুট

41

Pythonic পদ্ধতি (datetime মডিউল)

from datetime import datetime

def dayOfYear(date):
    dt = datetime.strptime(date, "%Y-%m-%d")
    return dt.timetuple().tm_yday

print(dayOfYear("2019-02-10"))  # 41
  1. পাইথন প্রোগ্রামে ক্যালেন্ডার

  2. পাইথন ডিবাগার (pdb)

  3. পাইথনে ক্যালেন্ডার ফাংশন (Calendar Function)

  4. পাইথনে =+ এবং += অপারেটরের পার্থক্য