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


معرفی هفت منبع داده اقلیمی رایگان جهانی

چرخش قطبی در مقابل چرخش خورشید آهنگ

آنالیز تصویر شئی گرا (OBIA)

تعامل انرژی در سنجش از دور : انعکاس، جذب و گسیل انرژی

معرفی 6 منبع رایگان داده های لیداری

آشنایی با SAR با استفاده از مثال

برنامه لندست : 50 سال آرشیو از تصاویر سطح زمین

دانلود رایگان نرم افزار ArcGIS Pro 2.8

ابر نقطه ای چیست ؟

انواع نقشه ها در سیستم اطلاعات جغرافیایی: 25 روش مختلف و جذاب برای نمایش داده های مکانی در GIS

تصحیحات اتمسفری در سنجش از دور چیست ؟

سیستم های تصویر نقشه چیست ؟ و چرا بعضا برای ما گمراه کننده هستند ؟

ژئودزی: ریاضیات مکان

گیرنده های GPS چگونه کار می کنند ؟ سه گانه سازی در مقابل مثلث بندی

مأموریت توپوگرافی رادار شاتل (SRTM)

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

تصاویر ماهواره ای 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)


آموزش برنامه نویسی پایتون بخش پنجم
خواندن اطلاعات ورودی از کنسول، برنامه نویسان را قادر به پذیرش اطلاعات ورودی از کاربر می نماید. به طور مثال اگر نیاز به نوشتن برنامه هایی داشته باشید که بایستی اطلاعات ورودی را کاربر وارد کند، نیاز به گرفتن اطلاعات از کاربر می باشبد. به طور مثال فرض کنید می خواهید برنامه ای بنویسید که مساحت یک دایره را بر اساس شعاع آن محاسبه کند، در این صورت اگر بخواهید کاربر بر اساس شعاع دایره مورد نظر، مساحت دایره را محاسبه کند، نیاز به گرفتن اطلاعات از ورودی می باشید. در زبان برنامه نویسی پایتون از تابعی به نام Input برای گرفتن اطلاعات، از ورودی استفاده می شود. دستور زیر نحوه استفاده از تابع Input را نشان داده است. با استفاده از این دستور می توانید مقداری را از کاربر دریافت نموده و به متغیر variable انتساب دهید.
variable = input(“Enter a value: “)
توجه داشته باشید که در پایتون ورژن 3، مقداری که از تابع Input دریافت می شود به صورت String می باشد. بر خلاف ورژن 2 پایتون، که مقدار دریافتی از تابع Input به صورت int یا float است، در پایتون ورژن 3، مقدار دریافتی از تابع Input به صورت String یا رشته می باشد، در نتیجه، بعد از آنکه تابع input اطلاعات را از ورودی دریافت نمود در صورت نیاز بایستی آنها را به داده های عددی از نوع float یا Int تبدیل نمود. برای این کار می توان رویکردهای مختلفی را دنبال کرد. یکی از این راهکارها استفاده از تابع eval، قبل از تابع input است تا نتایج دریافت شده توسط تابع Input به تابع eval منتقل شده و به صورت داده های عددی یا numeric تبدیل گردند. راهکار دیگر استفاده از روش تبدیل نوع یا Data type Conversion با استفاده از توابع float() یا int() می باشد. نکته ای که در مورد تابع eval وجود دارد آن است که این تابع، بر اساس آنکه داده ورودی عدد اعشاری یا عدد صحیح باشد، عملیات تبدیل نوع را انجام می دهد. در نتیجه با توجه به توضیحاتی که داده شده می توانید تابع eval را قبل از تابع Input قرار دهید تا از ورودی اطلاعات، به صورت Numeric یا عددی، اطمینان حاصل کنید. در ادامه با ذکر یک مثال کاربردی، نحوه استفاده از توابع input و eval نشان داده می شود.
یک مثال کاربردی
در مثالی که در قطعه کد زیر آورده شده است، نحوه استفاده از تابع input و eval برای گرفتن اطلاعات از ورودی و تبدیل اطلاعات رشته ای به اعشاری یا عدد صحیح نشان داده شده است.
1 # Prompt the user to enter a radius
2 radius = eval (input (“Enter a value for Radius: “) )
3 # Compute area
4 area = radius * radius * 3.14159
5 # Display results
6 print(“The area for the circle of radius”, radius, “is”, area)
v

در خط شماره 2، از کاربر درخواست می شود که مقداری را وارد کند (مقدار وارد شده توسط کاربر به صورت رشته دریافت می شود) سپس مقدار دریافت شده به صورت یک مقدار عددی تبدیل شده و در متغیری به نام radius قرار داده می شود. کدی که در بالا در خط دوم نوشته شده است را همچنین می توان به صورت مجزا به شکلی که در کد زیر نشان داده شده است، نوشت، البته کد فوق، مختصرتر می باشد.
radius =input (“Enter a value for Radius: “)
radius = eval (radius)
در نتیجه، تابع input یک مقدار رشته ای را از ورودی خوانده و در متغیر radius قرار می دهد. به دلیل آنکه عملیات و محاسبات ریاضی بر روی داده های رشته ای امکان پذیر نیست، نیاز به تبدیل نوع داده از رشته به اعشاری یا عدد صحیح هستیم. برای این کار از تابع eval استفاده می کنیم. تابع eval ورودی رشته ای را پذیرفته و ارزیابی می کند، در صورتی که دارای فرم اعشاری باشد، (یعنی دارای ممیز باشد)، آن را به نوع-داده یا Data Type اعشاری یا Float تبدیل و در صورتی که فاقد اعشار باشد آن را به عدد صحیح یا int تبدیل می کند. در هر صورت تبدیل نوع از رشته ای به عددی (اعشاری یا صحیح) توسط این تابع انجام می گیرد. نهایتاً بعد از آنکه متغیر radius به درست مقداردهی شد، امکان اجرای محاسبات مربوط به مساحت دایره با استفاده از این متغیر وجود خواهد داشت.
نکته
در پایتون ورژن 3، تابع input() به صورت String، مقدار ورودی را ذخیره سازی می کند در صورتی که در پایتون ورژن 2، دستور input()، مقدار int یا str بسته به ورودی می پذیرد و برای پذیرش مقدار string باید از دستور raw_input() استفاده شود.
در مثال فوق، استفاده از تابع input، برای دریافت یک مقدار نشان داده شد. لازم به ذکر است که می توان از دستور Input برای دریافت چندین مقدار مختلف از ورودی نیز استفاده نمود. در مثال بعدی نحوه دریافت چندین مقدار از ورودی و محاسبه میانگین آنها را نشان خواهیم داد. در این برنامه سه مقدار عددی از نوع عدد صحیح از ورودی دریافت شده و میانگین این سه مقدار محاسبه و نمایش داده می شود.
یک مثال کاربردی دیگر
1 # Prompt the user to enter three numbers
2 number1 = eval (input (“Enter the first number: “) )
3 number2 = eval (input (“Enter the second number: “) )
4 number3 = eval (input (“Enter the third number: “) )
5 # Compute average
6 average = (number1 + number2 + number3) / 3
7 # Display result
8 print(“The average of”, number1, number2, number3, “is”, average)

برنامه فوق از کاربر درخواست ورود 3 عدد صحیح می کند، سپس میانگین این مقادیر را محاسبه می کند، و نتایج را بر روی کنسول نمایش می دهد. در صورتی که کاربر چیزی به غیر از اعداد وارد کند، برنامه با خطای زمان اجرا یا Runtime Error متوقف خواهد شد. البته راهکارهایی برای جلوگیری از ایجاد خطای زمان اجرا وجود دارد که در آموزش های بعدی در بخش مربوط به رفع خطا و مدیریت استثنائات به آن اشاره می شود.
سیمبل ادامه خط (خط منطقی) - تقسیم یک دستور طولانی با چند بخش
به صورت نرمال و طبیعی، هر دستوری، در انتهای خط، پایان می پذیرد. اما اگر بخواهید یک خط منطقی را به چند بخش یا خط فیزیکی تبدیل کنید، در پایتون تمهیداتی برای این کار در نظر گرفته شده است که با خطای نحوی یا syntax error رو به رو نشوید. در نتیجه در پایتون، برای تجزیه یک خط منطقی (که شامل دستورات گرامری پایتون می باشد) به چند خط فیزیکی (که منظور همان خطوط برنامه هستند)، راهکاری ارائه می کند. برای این کار می توانید با گذاردن یک علامت \ در انتهای خط دستورات، ادامه دستورات خط منطقی را در خط فیزیکی بعدی ادامه دهید بدون آنکه با خطا رو به رو شوید. در نتیجه با گذاشتن علامت \ در انتهای خط می توانید دستورات ادامه آن خط را در خطوط فیزیکی بعدی ادامه دهید. به این حالت گفته می شود که خطوط به صورت مفهومی به یکدیگر متصل شده اند.
در برخی موارد مفسر پایتون نمی تواند انتهای خط منطقی یا خط مربوط به دستورات را که در چند خط فیزیکی نوشته شده باشند، تشخیص دهد، در این حالت می توانید از سیمبل ادامه خط یا علامت \ در انتهای خط دستورات، استفاده نموده و ادامه دستورات را در خط بعدی تایپ کنید. در این حالت به مفسر اعلام خواهید کرد که ادامه دستورات، در خط بعدی قرار گرفته اند و مفسر ادامه دستورات را دنبال نموده و سپس آنها را اجرا خواهد کرد. به کدهای نوشته شده در زیر توجه کنید که چطور از سیمبل \ برای تقسیم دستورات پایتون به چندین خط، استفاده شده است.
sumNumbers = 1 + 2 + 3 + \
4 + 5 + 6 + 7 + \
8 + 9 + 10
کدی که در زیر آورده شده است دقیقاً مشابه کد فوق می باشد.
sumNumbers = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10
ورودی - پردازش - خروجی (IPO)
عمده برنامه های کامپیوتری که ما از آنها به طور روزمره استفاده می کنیم، سه گام یا مرحله اصلی را طی می کنند که به آنها مرحله ورود، پردازش و خروجی گفته می شود. به طور مختصر این سه مرحله را به کلمه IPO یعنی Input و Process و Output نسبت می دهند. تقریباً تمامی برنامه های کاربردی که مورد استفاده قرار می گیرند دارای این سه مرحله هستند. البته نوع ورودی، پردازش و خروجی ها می تواند متفاوت بوده و از ماهیت و یا انواع مختلفی برخوردار باشند اما تقریباً تمامی برنامه ها شامل این سه مرحله می شوند.

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

روش نصب نرم افزار Envi 5.6

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

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

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

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

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

نقشه های موقعیت سیاسی منطقه مطالعاتی بخش دوم

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

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

دانلود نرم افزار ArcGIS Pro 3.0.2

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

دانلود نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه جازموریان به شماره NG-40-4

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

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

نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه جازموریان به شماره NG-40-4

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

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

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

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

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

دانلود و روش نصب نرم افزار Global Mapper 24

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

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

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

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

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

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

معرفی و دانلود نرم افزار SAGA GIS

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

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

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

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

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

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

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

دانلود نقشه های توپوگرافی اسکن شده با مقیاس 1/50000 برگه مشهد به شماره NJ-40-16

ترکیب باند: تبدیل تصاویر سیاه – سفید به تصاویر رنگی

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

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