آموزش برنامه نویسی پایتون بخش نوزدهم


چرا پنجره اتمسفری در علوم زمین دارای اهمیت است ؟

تصاویر ماهواره DigitalGlobe: ووردویو(Worldview)، ژئوآی(GeoEye) و آیکونوس (IKONOS)

راهنمای طبقه بندی نزدیکترین همسایه در e-Cognition

نقشه های کروپلت – مقدمه ای بر طبقه بندی داده

تصاویر چند طیفی (Multi-spectral) در مقایسه با تصاویر ابر طیفی (Hyper-spectral)

فتوگرافی هوایی (Aerial Photography) در مقابل ارتوفوتوگرافی (Orthophotography)

راهنمای جامع لیدار (Light Detection and Ranging – LiDAR)

سنجش از دور چیست ؟

منابع داده GIS رایگان در سطح جهانی : داده های رستری و برداری

مقدمه ای بر سرویس های نقشه کشی تحت وب (WMS)

علم داده مکانی چیست ؟

تحلیل عوارض سه بعدی

ژئوانالیتیکس: آنالیز داده های مکانی حجیم

فرمت های داده در سیستم اطلاعات جغرافیایی بخش سوم

فرمت های داده در سیستم اطلاعات جغرافیایی بخش دوم

فرمت های GIS و پسوندهای داده مکانی بخش اول

آموزش برنامه نویسی پایتون بخش سی ام

انتشار نخستین تصاویر لندست 9 توسط سازمان هوا و فضای آمریکا (NASA)

آموزش برنامه نویسی پایتون بخش بیست و نهم

آموزش برنامه نویسی پایتون بخش بیست و هشتم

آموزش برنامه نویسی پایتون بخش بیست و هفتم

آموزش برنامه نویسی پایتون بخش بیست و ششم

آموزش برنامه نویسی پایتون بخش بیست و پنجم

معرفی سامانه WEB GIS

نقشه متوسط دمای سطح زمین ایران (LST)

آموزش برنامه نویسی پایتون بخش بیست و چهارم

آموزش برنامه نویسی پایتون بخش یازدهم (تبدیل نوع و گرد کردن)

آموزش برنامه نویسی پایتون بخش دهم (اپراتورهای انتساب گمارشی)

آموزش برنامه نویسی پایتون بخش نهم (نمادهای علمی، ارزیابی عبارات و اولویت اجرای اپراتورها)

برنامه نویسی پایتون بخش هشتم (انتساب چندگانه، ثابت ها، نوع-داده های عددی و اپراتورها)

برنامه نویسی پایتون بخش هفتم (متغیرها، دستور انتساب و عبارات)

برنامه نویسی پایتون بخش ششم (Identifiers)

معرفی توانایی ها و ویژگی های ماهواره لندست 9

ماهواره لندست 9

نرم افزار Arc GIS Desktop در مقابل Arc GIS Pro

آموزش برنامه نویسی پایتون بخش چهارم (برنامه نویسی مقدماتی در پایتون)

آموزش برنامه نویسی پایتون بخش سوم (محاسبات ریاضی، استایل و خطاها در برنامه نویسی)

آموزش برنامه نویسی پایتون بخش دوم (شروع به کار با پایتون)

ابزارهای برنامه نویسی (Programming Tools)

سیکل توسعه نرم افزار


آموزش برنامه نویسی پایتون بخش نوزدهم
عبارات شرطی تو در تو (nested) و if elif else در پایتون
یک عبارت شرطی if را می توان درون یک عبارت شرطی دیگر if قرار داد که در این صورت عبارات شرطی تو در تو یا nested if statement ایجاد می شود. دستوراتی که در یک عبارت شرطی if و یا if else قرار می گیرند می توانند تمامی دستورات مورد قبول پایتون باشد که حتی خود نیز می تواند شامل یک if و یا if else دیگر نیز شود. عبارت شرطی داخلی را معمولاً به نام عبارت توکار درون عبارت شرطی if بیرونی می نامند. و همچنین عبارت شرطی if داخلی می تواند شامل یک if statement دیگر درون خود باشد. در حقیقت، هیچ محدودیتی برای تعریف عمق تو در تو بودن عبارات شرطی در پایتون وجود ندارد. برای مثال دستور شرطی زیر از نوع تو در تو یا nested if statement می باشد:
if i > k:
if j > k:
print(“i and j are greater than k”)
else:
print(“i is less than or equal to k”)
عبارت if j > k به صورت تو در تو، داخل دستور if i > k می باشد. دستورات شرطی تو در تو می توانند برای به کارگیری و پیاده سازی گزینه های چند حالتی مورد استفاده قرار بگیرند. دستوراتی که در شکل بعد نشان داده شده است به صورت نمونه، یک حرف لاتین را به متغیر grade اختصاص می دهد. بر اساس نمره ای که هر دانش آموز یا دانشجو کسب نموده و از این طریق گزینه های مختلفی را تعریف می کند.

نحوه اجرای این دستور شرطی در شکل بعدی نشان داده شده است. ابتدا شرط نخست بررسی می شود (score >= 90) در صورتی که این شرط درست ارزیابی شود، متغیر grade برابر با حرف لاتین A قرار خواهد گرفت. در صورتی که این عبارت نادرست یا False ارزیابی شود، شرط دوم (score >= 80) تست می شود. در صورتی که شرط دوم صحیح یا True باشد، متغیر grade برابر با رشته B قرار خواهد گرفت. در صورتی که این شرط نادرست باشد، شرط سوم و سایر شروط در صورت نیاز بررسی می شوند. تا زمانی که یکی از این شروط، صحیح ارزیابی شود یا آنکه همگی آنها False ارزیابی شود. در صورتی که همه شروط False ارزیابی شوند متغیر grade برابر با مقدار F قرار خواهد گرفت. توجه داشته باشید در صورتی یک شرط بررسی می شود که همه شروط پیش از آن False تلقی شده باشند و هر زمان هر یک از شروط True ارزیابی شود دیگر گزینه ها یا عبارت شرطی بعد از آن ارزیابی نخواهند شد.

دستورات شرطی شکل 1 (سمت چپ) معادل و برابر با دستورات شرطی شکل 1 (سمت راست) می باشند. در حقیقت فرم سمت راست ترجیح داده می شود و برنامه نویسان حرفه ای از این حالت استفاده می کنند. این استایل را دستورات شرطی چند گزینه ای می نامند، که از تورفتگی زیاد و عمیق کدها جلوگیری نموده و خوانایی برنامه را آسان می نماید. دستورات شرطی چند گزینه ای از سینتکس if-elif-else در زبان برنامه نویسی پایتون استفاده می کند. دستور elif معادل else if در سایر زبان های برنامه نویسی است. اکنون برنامه ای می نویسیم که بر اساس تقویم حیوانی چینی، نام حیوان هر سال را محاسبه کند. تقویم دوازدگانه حیوانی چینی دارای یک سیکل 12 ساله است و هر سال در این دوره توسط نام یک حیوان همچون میمون، خروس، سگ، خوک، موش، گاو، ببر، خرگوش، اژدها، مار، اسب و گوسفند، تعیین می شود که در شکل زیر نشان داده شده است.

نتیجه عبارت year % 12 تعیین کننده نام حیوان تقویم دوازده گانه حیوانی چینی است. به عنوان مثال سال 1900 سال موش است. به طوری که 1900 % 12 برابر با 4 می باشد، معادل سال موش می شود. برنامه زیر از کاربر می خواهد که یک سال را وارد نماید و سپس نام حیوانی آن سال را محاسبه و به او نمایش دهد.
year = eval(input(“Enter a year: “))
zodiacYear = year % 12
if zodiacYear == 0:
print(“monkey”)
elif zodiacYear == 1:
print(“rooster”)
elif zodiacYear == 2:
print(“dog”)
elif zodiacYear == 3:
print(“pig”)
elif zodiacYear == 4:
print(“rat”)
elif zodiacYear == 5:
print(“ox”)
elif zodiacYear == 6:
print(“tiger”)
elif zodiacYear == 7:
print(“rabbit”)
elif zodiacYear == 8:
print(“dragon”)
elif zodiacYear == 9:
print(“snake”)
elif zodiacYear == 10:
print(“horse”)
else:
print(“sheep”)
خطاهای رایج (Common Errors)
یکی از رایج ترین خطاهایی که در گزینه ها و عبارات شرطی چند گزینه ای یا تو در تو ایجاد می شود عمدتاً ناشی از تورفتگی نادرست و ناهماهنگ بین گزینه ها و عبارات می باشد. در شکل زیر نمونه ای از این خطای رایج نشان داده شده است. خطای دیگری که معمولاً اتفاق می افتد آن است که بعد از عبارت شرطی علامت : قرار داده نمی شود.

در شکل 4 در بخش (a) دستور print در بلوک if قرار ندارد. برای تصحیح آن و قرار دادن آن در بلوک if بایستی آن را Indent کنید به صورتی که در شکل 4 بخش (b) تصحیح شده است. مثال دیگری را در در کدهای زیر در نظر بگیرید. کدهای بخش a دارای 2 عبارت If می باشد یک else. کدام عبارت if با else مطابق یا match شده است؟ نوع تورفتگی یا indentation نشان می دهد که بخش else با اولین if در شکل a مطابق شده است و با دومین if در شکل b، تطبیق داده شده است.

اگر در کدهای بخش a عبارت i>j نادرست ارزیابی شود B نمایش داده می شود اما در کدهای بخش b در این حالت هیچ چیزی نمایش داده نمی شود.
اغلب برنامه نویسان تازه کار، کدهایی می نویسند که یک شرط را به یک متغیر بولینی انتساب می دهند. همچون کدهایی که در بخش a نشان داده شده است. اما این کدها را می توان مانند روشی که در بخش B مورد استفاده قرار داده شده است، ساده سازی و خلاصه نمود. البته فرم b مختصر تر و بهتر می باشد.


آموزش برنامه نویسی پایتون بخش هفدهم

نقشه های پوششی زمین شناسی ایران در مقیاس 1:100000 بخش هفتم

آموزش برنامه نویسی پایتون بخش بیستم

آموزش برنامه نویسی پایتون بخش بیست و سوم

نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه زابل به شماره NH-41-1

نرم افزار Coordinate Format Changer V.1 برای تبدیل فرمت مختصات

دانلود رایگان محاسبه سرعت دانلود و آپلود اینترنت

آموزش برنامه نویسی پایتون بخش پانزدهم

نقشه های پوششی زمین شناسی ایران در مقیاس 1:100000 بخش سوم

فیلم آموزشی زمین مرجع یا ژئورفرنس لایه ها و داده های مکانی در نرم افزار Surfer

تبدیل مختصات در نرم افزار Global Mapper

نقشه های پوششی زمین شناسی ایران در مقیاس 1:100000 بخش چهارم

آموزش برنامه نویسی پایتون بخش شانزدهم

نقشه تقسیمات سیاسی ایران

دانلود نرم افزار Arc GIS Pro 2.5 + روش نصب گام به گام

آموزش برنامه نویسی پایتون بخش اول

آموزش برنامه نویسی پایتون بخش دوازدهم (پروسه توسعه نرم افزار)

نقشه های زمین شناسی اسکن شده ایران در مقیاس 1:250000

آموزش برنامه نویسی پایتون بخش نوزدهم

آموزش برنامه نویسی پایتون بخش چهاردهم

فیلم آموزشی زمین مرجع یا ژئورفرنس لایه ها و داده های مکانی در نرم افزار Global Mapper

آموزش صفر تا صد ترسیم نقشه های توپوگرافی حرفه ای در نرم افزار Arc GIS

نرم افزار Terrain Morphometer V.1 برای اجرای آنالیز مورفومتری از مدل رقومی ارتفاعی

دانلود نقشه راههای ایران استایل 2

روش های ترانسفورم (Transformation) مختصاتی در نرم افزار ArcGIS Pro

آموزش ویدئویی تحلیل های هیدرولوژی در نرم افزار ArcGIS Pro

نرم افزار Slope Calculator V.1 برای استخراج نقشه شیب از مدل رقومی ارتفاعی با استفاده از 5 الگوریتم مختلف

آموزش برنامه نویسی پایتون بخش هجدهم

آشنایی و معرفی اولیه Google Earth Engine

فیلم آموزشی زمین مرجع یا ژئورفرنس لایه ها و داده های مکانی در نرم افزار Arc GIS Desktop

نقشه های پوششی زمین شناسی ایران در مقیاس 1:100000 بخش دوم

نقشه های پوششی زمین شناسی ایران در مقیاس 1:100000 بخش اول

فیلم آموزشی زمین مرجع یا ژئورفرنس لایه ها و داده های مکانی در نرم افزار Arc GIS Pro

آموزش تحلیل های هیدرولوژی در نرم افزار Arc GIS Desktop

نقشه های پوششی زمین شناسی ایران در مقیاس 1:100000 بخش پنجم

روش برش حواشی نقشه های اسکن شده در نرم افزار Global Mapper

دانلود نقشه راههای ایران استایل 1

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

نقشه حوضه های هیدرولوژیکی ایران

دیدگاهتان را بنویسید