Module: زیربرنامه های (پایتون): رویه ها و توابع - 1


Problem

9 /11


متغیرهای محلی و جهانی

Theory Click to read/hide

متغیرهای محلی و جهانی

متغیرهایی که در برنامه اصلی معرفی می شوند جهانی (یا اشتراکی) نامیده می شوند.

می‌توانید از هر زیرروال به متغیرهای سراسری دسترسی داشته باشید. 

اغلب لازم است متغیرهای اضافی معرفی شوند که فقط در زیر برنامه مورد استفاده قرار گیرند. چنین متغیرهایی local (یا محلی) نامیده می شوند. شما می توانید با آنها فقط در زیر برنامه ای که در آن ایجاد شده اند کار کنید. بقیه روتین ها چیزی در مورد آنها "نمی دانند".

بنابراین، می توان دامنه (حوزه) یک متغیر را فقط به زیربرنامه ای که واقعاً مورد نیاز است محدود کرد. در برنامه نویسی به این تکنیکencapsulation  - پنهان کردن متغیر از تغییر از خارج.

تجزیه و تحلیل سه برنامه: <سر> <بدن>
شرح برنامه
1) در این برنامه، متغیر i محلی است. اگر در برنامه اصلی متغیر i وجود نداشته باشد، پیغام خطا دریافت می کنیم. و اگر چنین متغیری وجود داشته باشد (پس یک متغیر جهانی است)، مقدار آن روی صفحه نمایش داده می شود. <پیش> def test(): print(i)
2) در اینجا، حتی اگر یک متغیر سراسری i وجود داشته باشد، یک متغیر محلی جدید i با مقدار 2 ایجاد می شود و 2 روی آن ظاهر می شود. صفحه نمایش. <پیش> def test():   i = 2 print(i)
3) در این برنامه یک متغیر جهانی i با مقدار 15 وجود دارد. مقدار آن را می توان در داخل زیربرنامه تغییر داد، برای این کار باید به صراحت اعلام کرد که جهانی است ( از دستور global استفاده کنید.
این رویه با متغیر سراسری i کار می کند و مقدار جدیدی از 2 به آن اختصاص داده می شود. مقدار 2 نمایش داده می شود.
<پیش> def test():   جهانی i i = 2 #برنامه اصلی من = 15 چاپ (i)


 

Problem

رویه‌ای با پارامتر n بنویسید که یک درخت کریسمس با تاج ارتفاع n را خروجی می‌دهد. برنامه اصلی باید دارای ورودی مقدار باشد. متغیر n و فراخوانی رویه.< br />  
نمونه‌ها
<سر> <بدن>
# ورودی خروجی
1 5 <پیش>     o    اوو   اوووو  اووووو oooooooo