بخشی از مجموعه

چندین نمونه کد

~2 دقیقه مطالعه • بروزرسانی ۱۹ مهر ۱۴۰۴

شرح برنامه

این برنامه یک عدد صحیح بین ۱ تا ۳۶۵ را از کاربر دریافت می‌کند که نشان‌دهنده شماره روز در سال شمسی است.
سپس با استفاده از ساختارهای شرطی و لیست‌های ماه‌ها، مشخص می‌کند که این روز در کدام فصل، کدام ماه و چه روزی از آن ماه قرار دارد.


کد پایتون:


def get_date_info(day_of_year):
    months = [
        ("فروردین", 31), ("اردیبهشت", 31), ("خرداد", 31),
        ("تیر", 31), ("مرداد", 31), ("شهریور", 31),
        ("مهر", 30), ("آبان", 30), ("آذر", 30),
        ("دی", 30), ("بهمن", 30), ("اسفند", 29)
    ]
    seasons = {
        "فروردین": "بهار", "اردیبهشت": "بهار", "خرداد": "بهار",
        "تیر": "تابستان", "مرداد": "تابستان", "شهریور": "تابستان",
        "مهر": "پاییز", "آبان": "پاییز", "آذر": "پاییز",
        "دی": "زمستان", "بهمن": "زمستان", "اسفند": "زمستان"
    }

    remaining = day_of_year
    for name, length in months:
        if remaining <= length:
            season = seasons[name]
            return season, name, remaining
        remaining -= length

    return None, None, None  # در صورت ورودی نامعتبر

# اجرای برنامه
day = int(input("شماره روز سال را وارد کنید (۱ تا ۳۶۵): "))
season, month, day_in_month = get_date_info(day)

if season:
    print(f"روز {day} سال، فصل {season}، ماه {month} و روز {day_in_month} این ماه است.")
else:
    print("شماره روز نامعتبر است.")

نمونه خروجی (ورودی: 35):


روز 35 سال، فصل بهار، ماه اردیبهشت و روز 4 این ماه است.

توضیح مراحل:

- ابتدا شماره روز سال از کاربر دریافت می‌شود
- لیستی از ماه‌ها و تعداد روزهای هر ماه تعریف شده است
- با کم کردن تعداد روزهای هر ماه از عدد ورودی، مشخص می‌شود که روز موردنظر در کدام ماه قرار دارد
- با استفاده از دیکشنری، فصل مرتبط با ماه نیز تعیین می‌شود
- خروجی نهایی شامل فصل، نام ماه و شماره روز در آن ماه است


نوشته و پژوهش شده توسط دکتر شاهین صیامی