آکادمی چابک | مرجع تخصصی جدیدترین دوره‌های آموزشی
جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • دوره های آموزشی
  • اخبار و مقالات
  • درباره ما
  • تماس با ما
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]

ارسال مجدد کد یکبار مصرف (00:90)
  • 02177010771
  • info@chabokacademy.com
  • اخبار و مقالات
  • علاقمندی ها
آکادمی چابک | مرجع تخصصی جدیدترین دوره‌های آموزشی
  • صفحه اصلی
  • دوره های آموزشی
  • اخبار و مقالات
  • درباره ما
  • تماس با ما
شروع کنید
0

وبلاگ

آکادمی چابک | مرجع تخصصی جدیدترین دوره‌های آموزشی > اخبار و مقالات > کسب و کار > آموزش محاسبه سن در پایتون: چطور در پایتون سن افراد را محاسبه کنیم؟

آموزش محاسبه سن در پایتون: چطور در پایتون سن افراد را محاسبه کنیم؟

تیر 14, 1404
ارسال شده توسط آکادمی چابک
کسب و کار
محاسبه سن با استفاده از سال تولد در پایتون

فهرست مطالب این نوشته

Toggle
  • چرا محاسبه سن به این سادگی‌ها هم نیست؟
    • روش اول: محاسبه سن در پایتون با ماژول datetime (روش استاندارد)
    • روش دوم: مدیریت خاص متولدین ۲۹ فوریه (Leap Year)
    • روش سوم: استفاده از تفاضل تعداد روزها
    • روش چهارم: استفاده از کتابخانه dateutil
  • یک مقایسه بین 4 روش: کدام بهتر است؟
  • 30 اسفند را چه کار کنیم؟
  • مثالی از بررسی سن قانونی
  • آیا از زبان‌های دیگر هم می‌توان الگوبرداری کرد؟
  • سوالات متداول (FAQ)
    • بهترین روش محاسبه سن در پایتون چیست؟
    • چرا تفریق ساده سال تولد برای محاسبه سن در python دقیق نیست؟
    • چگونه متولدین ۲۹ فوریه را در کد محاسبه سن در پایتون مدیریت کنیم؟
    • آیا می‌توان از کد محاسبه سن در پایتون در اپلیکیشن‌های موبایل هم استفاده کرد؟
تعداد بازدید: 709
5/5 امتیاز

در روند ثبت‌نام سایت‌ها و اپلیکیشن‌ها، از کاربر تاریخ تولد دریافت می‌شود تا اطلاعات سن، برای بررسی شرایط عضویت یا نمایش محتواهای متناسب با سن استفاده شود. اینجاست که محاسبه سن از روی تاریخ تولد در پایتون اهمیت پیدا می‌کند. از بانک‌ها گرفته تا شبکه‌های اجتماعی دانستن سن واقعی کاربر یک الزام است و حتی در پروژه‌هایی مثل برنامه محاسبه سن در پایتون یا سیستم‌های احراز هویت نیز کاربرد دارد.

پایتون روش‌های مختلف و دقیقی برای انجام این کار ارائه می‌دهد که هر کدام یک سری مزایای خاصی دارند. برای یادگیری 4 روش محاسبه سن در پایتون همراه‌مان باشید.

اگر می‌خواهید فرزندتان با بازی و خلاقیت، برنامه‌نویسی را یاد بگیرد؛ دوره اسکرچ جونیور را از دست ندهید!
تخفیف‌های شگفت‌انگیز جشنواره آکادمی چابک
تخفیف بگیر و ثبت نام کن!

چرا محاسبه سن به این سادگی‌ها هم نیست؟

بعضی‌ها فکر می‌کنند برای محاسبه سن در python کافی است سال تولد را از سال جاری کم کنیم! ولی موضوع به این سادگی نیست. تولد گذشته یا نگذشته؟ سال کبیسه داریم یا نه؟ آیا تولد در ۲۹ فوریه (یا همان 30 اسفند) است؟ همین موارد کافی‌اند تا بفهمیم اگر می‌خواهید سن را درست و دقیق محاسبه کنید، باید حرفه‌ای‌تر به قضیه نگاه کنید.

محاسبه سن در پایتون

روش اول: محاسبه سن در پایتون با ماژول datetime (روش استاندارد)

محاسبه سن در پایتون با datetime روش استاندارد و راحتی است که در ادامه بررسی کرده‌ایم و یکی از بهترین راه‌ها برای پیاده‌سازی کد محاسبه سن در پایتون محسوب می‌شود.

نمونه کد محاسبه سن در پایتون:

from datetime import date

def calculate_age(birthdate):

today = date.today()

age = today.year – birthdate.year – ((today.month, today.day) < (birthdate.month, birthdate.day))

return age

# مثال

print(calculate_age(date(2000, 1, 1))) # خروجی: 24

در این روش پایتون با استفاده از مقایسه (today.month, today.day) < (birthdate.month, birthdate.day) تشخیص می‌دهد که آیا تولد در سال جاری گذشته یا هنوز نرسیده است. در ضمن این نمونه کد محاسبه سن در پایتون به‌صورت مستقیم با کلاس date کار می‌کند و هیچ کتابخانه جانبی نیاز ندارد

بهترین گرایش MBA چیست؟
بخوانید

نکته: با روش اول، محاسبه سن در python حتی سال‌های کبیسه را نیز به‌درستی مدیریت می‌کند.

روش دوم: مدیریت خاص متولدین ۲۹ فوریه (Leap Year)

برای محاسبه سن از روی تاریخ تولد در پایتون، یک مساله مهم وجود دارد و آن هم مدیریت تولدهایی است که در ۲۹ فوریه اتفاق می‌افتند. این روز فقط در سال‌های کبیسه وجود دارد و در سایر سال‌ها باید با دقت خاصی هندل شود. این روز فقط در سال‌های کبیسه وجود دارد و در سایر سال‌ها باید با دقت خاصی هندل شود.

کد پیشرفته برای مدیریت Leap Year:

from datetime import date

def calculate_age(born):

today = date.today()

try:

birthday = born.replace(year=today.year)

except ValueError:

birthday = born.replace(year=today.year, month=3, day=1)

return today.year – born.year – (birthday > today)

مزایا leap year چیست:

  • جلوگیری از خطای ValueError
  • تبدیل خودکار ۲۹ فوریه به ۱ مارس در سال‌های غیرکبیسه
  • کاملاً منطبق با استانداردهای بین‌المللی

برای تبدیل تاریخ در پایتون نیز میتوانید از ابزارها و کتابخانه های نصبی پایتون یا کدنویسی اقدام کنید تا در پروژه‌هایی مثل محاسبه سن آنلاین با پایتون به مشکل نخورید.

محاسبه سن از روی تاریخ تولد در c#

روش سوم: استفاده از تفاضل تعداد روزها

برای روش سوم می‌خواهیم راهکاری را بررسی کنیم که خیلی سریع و راحت است؛ اما به هیچ عنوان برای استفاده‌های رسمی پیشنهاد نمی‌شود.

برای مثال محاسبه سن در پایتون با استفاده از سال تولد به شرح زیر است:

from datetime import date

def calculate_age(birthdate):

days_per_year = 365.2425

age = int((date.today() – birthdate).days / days_per_year)

return age

محدودیت‌ها:

  • خطای حدودی ±۱ سال در موارد معدودی
  • در محاسبات دقیق قابل اعتماد نیست.

این روش معمولاً در پروژه‌های سبک مثل برنامه محاسبه سن در پایتون استفاده می‌شود که حساسیت بالایی ندارند.

فرصت یادگیری پایتون را از دست ندهید! با ثبت‌نام در این دوره، به دنیای برنامه‌نویسی وارد شوید و پروژه‌های جذاب و کاربردی بسازید! تخفیف‌های شگفت‌انگیز جشنواره آکادمی چابک
همین حالا ثبت‌نام کنید!

روش چهارم: استفاده از کتابخانه dateutil

اگر پروژه‌تان بزرگ‌تر است و به دقتی بیشتر از تفریق ساده نیاز دارید، کتابخانه dateutil می‌تواند انتخاب خوبی باشد. به خصوص زمانی که باید با مناطق زمانی یا تاریخ‌های پیچیده کار کنید.

نصب:

pip install python-dateutil

کد پایتون محاسبه عمر کاربر با دریافت سن:

from dateutil.relativedelta import relativedelta

from datetime import date

def calculate_age(birth_date):

return relativedelta(date.today(), birth_date).years

یک مقایسه بین 4 روش: کدام بهتر است؟

معیار روش datetime کتابخانه dateutil تفاضل روزها
دقت مطلق ✅ ✅ ❌
نیاز به نصب کتابخانه ❌ ✅ ❌
مدیریت سال کبیسه ✅ ✅ ❌
پیچیدگی کد متوسط ساده ساده
مناسب برای حقوقی ✅ ✅ ❌
تفکر طراحی (Design thinking) رویکردی انسان محور به نوآوری
بخوانید

 

30 اسفند را چه کار کنیم؟

۲۹ فوریه یا 30 اسفند یک چالش در روند محاسبه سن در پایتون است. چرا؟ چون تولد فقط در سال‌های خاصی وجود دارد. جالب است بدانید تنها ۰.۰۷٪ از مردم در این تاریخ به دنیا می‌آیند. اما همین درصد کم هم باید به درستی مدیریت شوند.

مثالی از بررسی سن قانونی

فرض کنید می‌خواهید مطمئن شوید کاربران شما بالای ۱۸ سال هستند.

from datetime import date

def calculate_age(birthdate):

today = date.today()

return today.year – birthdate.year – ((today.month, today.day) < (birthdate.month, birthdate.day))

def validate_age(birthdate, min_age=18):

return calculate_age(birthdate) >= min_age

birthdate = date(2010, 3, 15)

print(“واجد شرایط:” if validate_age(birthdate) else “غیرمجاز”)

آیا از زبان‌های دیگر هم می‌توان الگوبرداری کرد؟

بله! در محاسبه سن از روی تاریخ تولد در C# از کلاس DateTime و متد Subtract استفاده می‌شود. یا در برنامه محاسبه سن در C++، از کلاس chrono برای محاسبه فاصله زمانی استفاده می‌کنند. اما پایتون هم ساده و هم سریع است و به همین دلیل خیلی از توسعه‌دهندگان این زبان را ترجیح می‌دهند.

chabokacademy
دوره‌های آموزشی آکادمی چابک
با تخفیف‌های ویژه آکادمی چابک، یادگیری را شروع کنید!
مشاهده دوره‌ها

سخن پایانی

محاسبه سن در پایتون با ۴ روش قابل انجام است که معتبرترین آن‌ها استفاده از ماژول datetime است.

البته بسته به نیاز پروژه، می‌توانید از روش‌های دیگر هم استفاده کنید، اما همیشه دقت و عملکرد را در اولویت قرار دهید.

در صورتی که تمایل به یادگیری پایتون دارید و قصد دارید فهم مباحث را به شکل عمیق‌تر بهبود دهید، برای‌تان خبرهای خوبی داریم. ما در آکادمی چابک دوره‌هایی تخصصی و پروژه‌محور طراحی کرده‌ایم که دقیقاً به همین مهارت‌ها می‌پردازد. از مفاهیم پایه مثل کار با تاریخ و زمان گرفته تا ساخت اپلیکیشن‌های واقعی، همه چیز را به زبان ساده و با مثال‌های کاربردی آموزش می‌دهیم.

سوالات متداول (FAQ)

بهترین روش محاسبه سن در پایتون چیست؟

بهترین و دقیق‌ترین روش برای محاسبه سن در پایتون با datetime است؛ زیرا این روش به‌صورت استاندارد تاریخ فعلی و تاریخ تولد را مقایسه می‌کند و سال‌های کبیسه را نیز در نظر می‌گیرد.

چرا تفریق ساده سال تولد برای محاسبه سن در python دقیق نیست؟

زیرا در این روش مشخص نمی‌شود که آیا تولد فرد در سال جاری گذشته است یا خیر. در نتیجه ممکن است سن واقعی کاربر یک سال کمتر یا بیشتر محاسبه شود.

چگونه متولدین ۲۹ فوریه را در کد محاسبه سن در پایتون مدیریت کنیم؟

برای این کار باید از ساختار try/except استفاده کنید تا در سال‌های غیرکبیسه، تاریخ تولد به ۱ مارس تبدیل شود و از بروز خطای ValueError جلوگیری گردد.

اوقات فراغت چیست: چگونه اوقات فراغت خود را به فرصت تبدیل کنیم؟
بخوانید

آیا می‌توان از کد محاسبه سن در پایتون در اپلیکیشن‌های موبایل هم استفاده کرد؟

بله، اگر از فریم‌ورک‌هایی مانند Django یا Flask در بک‌اند استفاده کنید، این کدها به‌راحتی در اپلیکیشن‌های موبایل نیز قابل استفاده خواهند بود.

منبع:

www.geeksforgeeks.org

قبلی آموزش کامل تبدیل تاریخ در پایتون: تبدیل فرمت تاریخ در پایتون
بعدی علم نوروساینس چیست؟ کاربردهای نوروساینس در روان‌شناسی، هوش مصنوعی و زندگی روزمره

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • آموزش گرافیک کامپیوتری
  • امنیت و شبکه
  • برنامه نویسی
  • پایگاه داده
  • سیستم عامل
  • طراحی وب
  • کسب و کار
  • هوش مصنوعی
برچسب‌ها
MBA آموزش و کاربرد هوش مصنوعی اهداف شغلی بازاریابی محصول کسب و کار اینترنتی
logoacademy
آکادمی چابک با برگزاری دوره‌های جامع و تخصصی در حوزه‌ی نرم‌افزار، تحلیل کسب‌وکار و همچنین مشاوره‌های تخصصی در این حوزه‌ها سعی بر آن دارد تا علاقمندان پس از گذراندن دوره‌های مربوطه بتوانند از دانش و مهارت‌ خود بهترین استفاده را کرده و وارد بازار کار شوند.
 

ارتباط با ما

  • ۰۲۱۷۷۰۱۰۷۷۱
  • info@chabokacademy.com
  • حکیمیه، بلوار بابائیان، ۱۵ متری امام حسین، بن بست شفاعت، پلاک ۱۵، طبقه ۷

دسترسی سریع

  • خانه
  • دوره ها
  • اخبار و مقالات
  • تماس با ما
  • خانه
  • دوره ها
  • اخبار و مقالات
  • تماس با ما

نماد‌ها و خبرنامه

۱۴۰۲© کلیه حقوق سایت نزد آکادمی چابک محفوظ است.

ورود
با شماره موبایل
آیا هنوز عضو نشده اید؟ اکنون ثبت نام کنید
ثبت نام
قبلا عضو شده اید؟ اکنون وارد شوید
محافظت شده توسط