NEW NIC ALGORITHM [PYTHON]

MihiCherub

Well-known member
  • Sep 14, 2009
    18,849
    1
    9,594
    113
    Gampaha
    අලුත් NIC එකට පොඩි කෝඩ් කෑල්ල්ක් ලිව්ව. ඕනෙ විදියට වෙනස් කරගෙන පොඩ්ඩක් ටෙස්ට් කොරල බලල කියන්න හරිද කියල. ඕනෙ ප්‍රොජෙක්ට් වලට ගෙඩිය පිටින්ම උස්සල පාවිච්චි කරන්න. වැරදි අඩුපාඩු සහිත නම් දැනුවත් කරන්න. input nic number validation එකක් කරල නෑ.

    Python:
    from datetime import datetime, timedelta
    
    
    class NicDetails:
    
        def __init__(self, nic_number: str):
    
            self.birthday = None
            self.gender: str = ""
            self.age: int = 0
    
            self.__set_details(nic_number)
    
        def __set_details(self, nic_number):
    
            if len(nic_number) == 10:  # OLD NIC Including 'v' or 'x'
                year = int("19" + nic_number[:2])
                days = int(nic_number[2:5])
    
            else:  # New NIC After 2000
                year = int(nic_number[:4])
                days = int(nic_number[4:7])
    
            self.birthday = datetime(year, 1, 1) + timedelta(days - 2)  # All the years are leap years, NIC coding
    
            if days > 500:
                self.gender = "Female"
                days -= 500
            else:
                self.gender = "Male"
    
            today = datetime.today()
            self.age = today.year - self.birthday.year - (
                    (today.month, today.day) < (self.birthday.month, self.birthday.day))

    usage
    Python:
    nic = NicDetails("952453462v")
    print(nic.birthday)
    print(nic.gender)
    print(nic.age)
     

    Ne@

    Active member
  • Mar 11, 2011
    609
    81
    28
    Computer eke CPU eke, CPU schdduling wala වල තියෙන round robin algorithm එක මොඩිෆ්යි කරන එක
    Round robin algorithm eke time quantum එක අඩු කරලා algorithm එකේ perfomance වැඩි කරලා

    machine learning wala k-means kiyana clustering method ekath use karala

    Linux OS ekata , phython language eken, machine learningn wala k-means use wenna oni

    Mee wage project ekak karanna aya innawada machnla.