اگر تاکنون حتی یک خط برنامه ننوشتهاید، این درس برای شما طراحی شده است.
در این آموزش، بدون نیاز به آشنایی قبلی با برنامهنویسی، اولین برنامه خود را با زبان پایتون (Python) مینویسید، آن را اجرا میکنید، نتیجه را میبینید و سپس با تغییر کد، برنامههای کوچک دیگری میسازید.
برای شروع نیازی به نصب نرمافزار ندارید. تنها یک مرورگر اینترنتی کافی است. ابتدا از یک محیط آنلاین برای اجرای برنامه استفاده میکنیم و در درسهای بعد یاد میگیریم چگونه پایتون را روی رایانه خود نصب کنیم.
در پایان این درس خواهید توانست:
- مفهوم برنامه و برنامهنویسی را به زبان ساده توضیح دهید.
- اولین دستور پایتون را بنویسید و اجرا کنید.
- با دستور print() متن و عدد را نمایش دهید.
- یک برنامه چندخطی ایجاد کنید.
- تفاوت میان کد برنامه و خروجی آن را تشخیص دهید.
- خطاهای ساده کدنویسی را شناسایی و اصلاح کنید.
- چند برنامه کوچک را بدون کمک مدرس اجرا کنید.
پیشنهاد میکنیم همه مثالها را شخصاً اجرا کنید. صرفاً خواندن کد برای یادگیری برنامهنویسی کافی نیست؛ بخش اصلی یادگیری زمانی اتفاق میافتد که کد را اجرا، تغییر و آزمایش میکنید.
۱. اولین ارتباط با دنیای برنامهنویسی
۱-۱. برنامهنویسی چیست؟
رایانهها میتوانند فعالیتهای متنوعی انجام دهند؛ برای مثال، محاسبات ریاضی انجام دهند، متن نمایش دهند، اطلاعات را ذخیره کنند، تصویر پردازش کنند یا دادههای یک شرکت را تحلیل کنند.
اما رایانه برای انجام یک فعالیت مشخص باید دستورهای مناسبی دریافت کند.
فرض کنید از یک ماشینحساب میخواهید حاصل جمع دو عدد را محاسبه کند. ابتدا دو عدد را وارد میکنید، سپس عمل جمع را انتخاب میکنید و دستگاه نتیجه را نمایش میدهد.
در برنامهنویسی نیز فرایند مشابهی اتفاق میافتد، با این تفاوت که دستورها را به زبان برنامهنویسی مینویسیم.
- برنامه (Program) مجموعهای از دستورهاست که رایانه برای انجام یک کار مشخص اجرا میکند.
- برنامهنویسی (Programming) فرایند طراحی، نوشتن، آزمایش و اصلاح این دستورهاست.
مثلاً ممکن است بخواهیم برنامهای بسازیم که نام دانشجو را نمایش دهد، مجموع نمرات چند درس را محاسبه کند یا اطلاعات فروش یک فروشگاه را پردازش کند.
هرکدام از این کارها را میتوان با نوشتن دستورهای مناسب انجام داد.
برای درک بهتر، تصور کنید دستور تهیه یک غذا را در اختیار دارید. دستور آشپزی مشخص میکند چه موادی موردنیاز است، چه کارهایی باید انجام شود و ترتیب انجام آنها چیست.
یک برنامه رایانهای نیز از دستورهایی تشکیل میشود که باید طبق قواعد مشخص اجرا شوند.
البته رایانه مانند انسان معنی دستورهای مبهم را حدس نمیزند. دستورها باید به شکلی نوشته شوند که زبان برنامهنویسی آنها را بپذیرد.
۱-۲. زبان برنامهنویسی پایتون چیست؟
همانطور که انسانها برای ارتباط از زبانهایی مانند فارسی و انگلیسی استفاده میکنند، برای نوشتن برنامه نیز از زبانهای برنامهنویسی استفاده میشود.
هر زبان برنامهنویسی قواعد خاصی برای نوشتن دستورها دارد.
پایتون یکی از این زبانهاست. ساختار آن نسبتاً ساده و خواناست و به همین دلیل برای شروع آموزش برنامهنویسی انتخاب مناسبی محسوب میشود.
برای مثال، در پایتون میتوانیم با یک خط دستور از رایانه بخواهیم پیام مشخصی را نمایش دهد:
print("Hello, Python!")
وقتی این دستور اجرا شود، متن زیر نمایش داده میشود:
Hello, Python!
این دستور کوتاه، اولین برنامه ما خواهد بود.
در ادامه یاد میگیریم چگونه آن را اجرا کنیم و هر یک از قسمتهای آن چه معنایی دارد.
۱-۳. کد، اجرا و خروجی چه تفاوتی دارند؟
پیش از اجرای برنامه باید سه اصطلاح مهم را بشناسیم.
- کد (Code) متنی است که برنامهنویس طبق قواعد یک زبان برنامهنویسی مینویسد.
- اجرا (Execution) فرایندی است که طی آن دستورهای برنامه پردازش و عملیات مربوط به آنها انجام میشود.
- خروجی (Output) اطلاعات یا نتیجهای است که برنامه تولید میکند. خروجی میتواند متن نمایشدادهشده، عدد، فایل یا نتیجه دیگری باشد.
در مثال زیر:
print("Welcome!")
کدی که نوشتهایم print(“Welcome!”) است.
هنگامی که دکمه اجرای برنامه را انتخاب میکنیم، پایتون این دستور را اجرا میکند.
نتیجه قابل مشاهده چنین است:
Welcome!
به این نتیجه، خروجی برنامه میگوییم.
نکته مهم: کد برنامه و خروجی آن یک چیز نیستند. کد دستور انجام کار را مشخص میکند و خروجی نتیجه اجرای دستور است.
۱-۴. مفسر پایتون چه کاری انجام میدهد؟
برای اجرای دستورهای پایتون، به نرمافزاری نیاز داریم که بتواند آنها را پردازش کند.
به این نرمافزار مفسر پایتون (Python Interpreter) میگویند.
مفسر، کد نوشتهشده را بر اساس قواعد زبان پایتون پردازش میکند و عملیات مربوط به آن را انجام میدهد.
در این مرحله لازم نیست جزئیات داخلی مفسر را بدانید.
فقط کافی است این روند را در ذهن داشته باشید:
۱. برنامهنویس کد را مینویسد.
۲. کد در اختیار محیط اجرای پایتون قرار میگیرد.
۳. پایتون دستورهای برنامه را اجرا میکند.
۴. نتیجه اجرا نمایش داده میشود یا در اختیار بخش دیگری از برنامه قرار میگیرد.
بعداً درباره تفاوت فایل برنامه، مفسر، حافظه و محیط اجرا بیشتر یاد میگیریم.
۲. اجرای اولین برنامه پایتون بدون نصب نرمافزار
۲-۱. چرا ابتدا از محیط آنلاین استفاده میکنیم؟
برای نوشتن برنامه پایتون معمولاً میتوان نرمافزار پایتون و یک ویرایشگر کد را روی رایانه نصب کرد.
اما در نخستین جلسه آموزشی، هدف اصلی ما یادگیری نصب نرمافزار نیست. میخواهیم هرچه سریعتر کد بنویسیم و خروجی ببینیم.
به همین دلیل در این درس از Google Colab استفاده میکنیم.
Google Colab یک محیط مبتنی بر مرورگر است که امکان نوشتن و اجرای کد پایتون را در قالب Notebook فراهم میکند.
در Notebook، کد را داخل قسمتهایی به نام سلول (Cell) مینویسیم. سپس میتوانیم هر سلول را جداگانه اجرا کنیم.
این ویژگی برای آموزش بسیار مفید است؛ زیرا میتوانیم یک مثال را اجرا کنیم، خروجی آن را ببینیم و سپس مثال بعدی را در سلولی جدید بنویسیم.
برای استفاده معمول از Colab به اینترنت و حساب گوگل نیاز دارید. امکانات و محدودیتهای آن نیز ممکن است در طول زمان تغییر کند.
۲-۲. ورود به Google Colab
برای شروع مراحل زیر را انجام دهید.
- مرحله اول: مرورگر اینترنت خود را باز کنید.میتوانید از مرورگرهایی مانند Chrome، Firefox یا Edge استفاده کنید.
- مرحله دوم: نشانی زیر را در نوار آدرس مرورگر وارد کنید https://colab.research.google.com/:
- مرحله سوم: اگر از شما خواسته شد، وارد حساب گوگل خود شوید.
- مرحله چهارم: گزینه ایجاد Notebook جدید را انتخاب کنید. این گزینه معمولاً با عنوان New notebook نمایش داده میشود و ممکن است از منوی File نیز در دسترس باشد.پس از ایجاد Notebook، صفحهای مشاهده میکنید که دارای یک یا چند محل ورود کد است.محل ورود کد، همان سلول کدنویسی شماست.
- مرحله پنجم: نام Notebook را به یک نام مناسب تغییر دهید؛ برای مثال:
Python_Lesson_01
این نام به شما کمک میکند تمرینهای هر درس را جداگانه نگهداری کنید.
۲-۳. نوشتن اولین دستور در محیط پایتون
اکنون داخل نخستین سلول کد کلیک کنید و دستور زیر را بنویسید:
print("Hello, Python!")
دقت کنید تمام علامتها دقیقاً مانند مثال نوشته شوند.
سپس دکمه اجرای سلول را که معمولاً به شکل یک مثلث در کنار آن قرار دارد انتخاب کنید.
میتوانید برای اجرای سلول از کلیدهای Shift + Enter نیز استفاده کنید.
اگر دستور را درست نوشته باشید، خروجی زیر مشاهده میشود:
Hello, Python!
تبریک! شما اولین برنامه پایتون خود را اجرا کردهاید.
این برنامه بسیار کوتاه است، اما تمام مراحل اصلی برنامهنویسی را تجربه کردهاید: نوشتن دستور، اجرای برنامه و مشاهده نتیجه.
۲-۴. کپی و جایگذاری کد
در تمام صفحات این مجموعه، نمونهکدها در بخشهای مجزا نمایش داده میشوند تا بتوانید آنها را کپی کنید.
برای استفاده از کد آماده:
۱. کد را با دکمه «کپی کد» یا با انتخاب متن کپی کنید.
۲. وارد سلول کد در Colab شوید.
۳. اگر متن دیگری داخل سلول وجود دارد، آن را پاک کنید یا سلول جدیدی بسازید.
۴. کد را با Ctrl + V در ویندوز و لینوکس، یا Command + V در macOS جایگذاری کنید.
۵. سلول را اجرا کنید.
۶. خروجی را با نتیجهای که در درس نوشته شده است مقایسه کنید.
توصیه آموزشی: بعد از کپی و اجرای هر مثال، حداقل یک قسمت آن را تغییر دهید. این کار کمک میکند نقش هر بخش از دستور را بهتر درک کنید.
۲-۵. اگر برنامه اجرا نشد چه کنیم؟
گاهی ممکن است با زدن دکمه اجرا، نتیجه بلافاصله نمایش داده نشود.
در این حالت ابتدا بررسی کنید که اتصال اینترنت برقرار باشد.
سپس مطمئن شوید سلول موردنظر از نوع کد است، نه سلول متنی.
اگر محیط اجرا هنوز متصل نشده باشد، Colab ممکن است ابتدا برای اتصال به یک محیط اجرایی تلاش کند.
پس از برقراری اتصال، دوباره سلول را اجرا کنید.
اگر پیام خطا دریافت کردید، متن کد را با نمونه درس مقایسه کنید.
بهویژه وجود پرانتزها و علامتهای نقلقول را بررسی کنید.
در بخش خطاهای رایج همین درس، نمونههایی از این مشکلات را بررسی خواهیم کرد.
مثال: بررسی سلول درست
هدف آموزشی: تشخیص تفاوت اجرای دو سلول مستقل
صورت مسئله: در دو سلول جداگانه، دو پیام متفاوت بنویسید تا مطمئن شوید کدام سلول اجرا شده است.
print('CELL A: READY')
print('CELL B: WAITING')
خروجی:
CELL A: READY
CELL B: WAITING
آزمایش بیشتر: خط دوم را در سلولی دیگر قرار دهید و فقط سلول اول را اجرا کنید.
۳. آشنایی کامل با اولین دستور پایتون
۳-۱. دستور print چیست؟
تابع print() یکی از ابزارهای داخلی زبان پایتون برای نمایش اطلاعات است.
فعلاً میتوانیم تابع را یک ابزار آماده در نظر بگیریم که کار مشخصی انجام میدهد.
در درسهای آینده با مفهوم تابع بهصورت کامل آشنا خواهیم شد.
وقتی عبارت زیر را مینویسیم:
print("Hello!")
از پایتون میخواهیم متن Hello! را در خروجی نمایش دهد.
به عبارت دیگر، print() دادهای را دریافت میکند و نمایش متنی آن را در خروجی استاندارد مینویسد.
در محیط Colab، خروجی استاندارد معمولاً زیر سلول اجراشده نمایش داده میشود.
۳-۲. بررسی اجزای دستور print
دستور زیر را در نظر بگیرید:
print("Python is easy")
این دستور دارای چند بخش است.
- بخش اول: print
نام تابعی است که وظیفه نمایش اطلاعات را برعهده دارد.
- بخش دوم: پرانتز باز (
نشاندهنده آغاز اطلاعاتی است که در فراخوانی تابع قرار میدهیم.
- بخش سوم: “Python is easy”
متنی است که قرار است نمایش داده شود.
- بخش چهارم: پرانتز بسته )
پایان فراخوانی تابع را مشخص میکند.
در این مثال، عبارت قرارگرفته میان علامتهای نقلقول یک رشته (String) است.
رشته نوعی داده است که برای نمایش متن استفاده میشود.
در پایتون میتوان رشته را با علامت نقلقول دوتایی یا تکی نوشت.
مثال تکمیلی :نشانهگذاری مسیر کتابخانه
هدف آموزشی: تمرین تشخیص متن ثابت از دستور نمایش
صورت مسئله: یک نشانی راهنما را با علائم نگارشی دقیق چاپ کنید.
print('Library > Floor 2 > Shelf A')
خروجی:
Library > Floor 2 > Shelf A
آزمایش بیشتر: فاصلههای دو طرف علامت >< را حذف کنید.
۳-۳. تفاوت علامت نقلقول تکی و دوتایی
دو دستور زیر را اجرا کنید:
print("Hello")
print('Hello')
خروجی:
Hello
Hello
هر دو دستور خروجی یکسانی دارند.
زیرا در پایتون هم از نقلقول تکی و هم از نقلقول دوتایی میتوان برای تعریف رشته استفاده کرد.
مهم آن است که علامت آغاز و پایان رشته با یکدیگر سازگار باشند.
برای نمونه، دستور زیر اشتباه است:
print("Hello')
زیرا رشته با نقلقول دوتایی آغاز شده، اما با نقلقول تکی پایان یافته است.
در چنین حالتی پایتون نمیتواند رشته را بهدرستی تشخیص دهد و خطای نگارشی گزارش میکند.
۳-۴. نمایش متن فارسی در پایتون
پایتون از Unicode پشتیبانی میکند و میتواند رشتههای فارسی را نیز پردازش کند.
مثال زیر را اجرا کنید:
print("!")سلام دنیا
print(".")من در حال یادگیری پایتون هستم
خروجی:
سلام دنیا!
من در حال یادگیری پایتون هستم.
اگر متن فارسی را بهدرستی مشاهده کردید، محیط شما از نمایش این حروف پشتیبانی میکند.
در فایلهای متنی و برنامههای محلی، معمولاً استفاده از کدگذاری UTF-8 انتخاب مناسبی است.
نکته مهم: اگرچه نمایش متن فارسی در پایتون امکانپذیر است، پیشنهاد میکنیم در مثالهای آموزشی از حروف انگلیسی برای نام متغیرها و توابع استفاده کنیم. این قرارداد خوانایی، سازگاری و همکاری با برنامهنویسان دیگر را آسانتر میکند.
مثال تکمیلی: تابلوی دوزبانه
هدف آموزشی: نمایش مستقل متن فارسی و انگلیسی
صورت مسئله: برای یک نمایشگاه، دو خط راهنمای فارسی و انگلیسی بسازید.
print('ورود از درِ شرقی')
print('Entrance: East Gate')
خروجی:
ورود از درِ شرقی
Entrance: East Gate
آزمایش بیشتر: جای دو دستور را عوض کنید.
۳-۵. حساسیت پایتون به حروف بزرگ و کوچک
پایتون نسبت به حروف بزرگ و کوچک حساس است.
به این ویژگی Case Sensitivity میگویند.
دستور صحیح:
print("Hello")
اما دستور زیر صحیح نیست:
Print("Hello")
زیرا Print همان print نیست.
پایتون نامها را با توجه به حروف دقیق آنها تشخیص میدهد.
همین موضوع درباره بسیاری از نامهایی که در آینده برای متغیرها و توابع انتخاب میکنیم نیز اهمیت خواهد داشت.
تمرین کوتاه: دستور print() را یک بار با حرف p کوچک و بار دیگر با حرف P بزرگ اجرا کنید. تفاوت نتیجه را بررسی کنید.
۴. نوشتن برنامههای چندخطی
۴-۱. اجرای چند دستور پشت سر هم
تا اینجا برنامههایی نوشتهایم که تنها یک دستور داشتند.
اما برنامههای واقعی معمولاً از چندین دستور تشکیل میشوند.
برای مثال، برنامه زیر سه پیام مختلف را نمایش میدهد:
print("Welcome to Python")
print("This is my first lesson")
print("I am learning programming")
خروجی:
Welcome to Python
This is my first lesson
I am learning programming
در این مثال، سه دستور در سه خط جداگانه نوشته شدهاند.
پایتون در اجرای معمول چنین برنامهای ابتدا دستور خط اول، سپس خط دوم و بعد خط سوم را اجرا میکند.
به این موضوع اجرای ترتیبی دستورات میگوییم.
البته در درسهای آینده خواهیم دید که ساختارهایی مانند شرط و حلقه میتوانند جریان اجرای برنامه را تغییر دهند.
مثال : تابلوی ورودی موزه
چند پیام را به ترتیبی نشان دهید که بازدیدکننده ابتدا نام مکان، سپس ساعت بازدید و در پایان پیام راهنما را ببیند.
print("CITY MUSEUM")
print("Open: 09:00 - 17:00")
print("Tickets at the front desk")
خروجی:
CITY MUSEUM | Open: 09:00 - 17:00 | Tickets at the front desk
آزمایش بیشتر: جابهجایی خطهای دوم و سوم را آزمایش کنید؛ ترتیب نمایش چرا تغییر میکند؟
۴-۲. آیا ترتیب دستورها اهمیت دارد؟
بله. در بسیاری از برنامهها ترتیب دستورها بر نتیجه اثر میگذارد.
برنامه زیر را مشاهده کنید:
print("Step 1: Start")
print("Step 2: Processing")
print("Step 3: Finished")
خروجی:
Step 1: Start
Step 2: Processing
Step 3: Finished
اکنون جای خط اول و سوم را عوض کنید.
مشاهده خواهید کرد که ترتیب نمایش پیامها نیز تغییر میکند.
از این مثال یک نکته مهم یاد میگیریم: رایانه دستورها را مطابق منطقی که در برنامه تعریف شده است اجرا میکند، نه لزوماً مطابق ترتیبی که در ذهن ما وجود دارد.
بنابراین برنامهنویس باید ترتیب اجرای فعالیتها را بهدرستی طراحی کند.
۴-۳. نمایش خط خالی در خروجی
گاهی برای خواناتر شدن خروجی لازم است بین دو پیام یک خط خالی قرار دهیم.
یکی از راهها استفاده از print() بدون آرگومان است:
print("Python Course")
print()
print("Lesson 1")
خروجی:
Python Course
Lesson 1
در این برنامه، دستور دوم یک خط جدید ایجاد میکند.
این روش برای جداکردن قسمتهای مختلف گزارش یا پیامهای برنامه مفید است.
مثال: نمایش پیام اضطراری ساختگی
برای تمرین نمایش چندخطی، پیامی کوتاه شامل عنوان، محل فرضی و یک خط خالی بسازید.
print("SYSTEM NOTICE")
print()
print("Room: B12")
print("Please contact the coordinator")
خروجی:
SYSTEM NOTICE | | Room: B12 | Please contact the coordinator
آزمایش بیشتر: یک خط خالی دیگر در ابتدای خروجی اضافه کنید.
۴-۴. نمایش چند مقدار با یک دستور
تابع print() میتواند چند مقدار را نیز دریافت کند.
برای مثال:
print("Name:", "Sara")
print("Age:", 20)
print("Score:", 18.5)
خروجی:
Name: Sara
Age: 20
Score: 18.5
در این مثال، بین مقادیر از ویرگول استفاده شده است.
تابع print() بهطور پیشفرض بین مقادیر جداگانه یک فاصله قرار میدهد.
همچنین توجه کنید که عددهای 20 و 18.5 داخل علامت نقلقول نوشته نشدهاند.
این موضوع به تفاوت داده عددی و متنی مربوط میشود که در درسهای آینده بررسی خواهیم کرد.
مثال: نوار اطلاعات یک رویداد
عنوان و محل رویداد را در متغیرهای متنی نگه دارید و از یک دستور print برای نمایش چند مقدار استفاده کنید.
event = "Science Day"
hall = "Main Hall"
print("Event:", event)
print("Location:", hall)
خروجی:
Event: Science Day | Location: Main Hall
آزمایش بیشتر: فقط نام متغیر hall را به مقدار دیگری تغییر دهید.
مثال : فاصله ناخواسته در شناسه
هدف آموزشی: آگاهی از فاصلهگذاری خودکار print
صورت مسئله: یک شناسه را یک بار با دو مقدار جدا و یک بار به صورت متن یکپارچه نمایش دهید.
print('ID-', 27)
print('ID-27')
خروجی:
ID- 27
ID-27
آزمایش بیشتر: شناسه دوم را به 42 تغییر دهید و اختلاف فاصله را مشاهده کنید.
۵. انجام اولین محاسبات با پایتون
۵-۱. پایتون بهعنوان ماشینحساب
یکی از سادهترین کاربردهای پایتون، انجام محاسبات ریاضی است.
فرض کنید میخواهیم حاصل جمع دو عدد ۱۰ و ۲۰ را محاسبه کنیم.
کد زیر را اجرا کنید:
print(10 + 20)
خروجی:
30
در اینجا علامت + برای جمع دو عدد استفاده شده است.
اکنون مثال دیگری را آزمایش کنید:
print(50 - 15)
print(6 * 7)
print(20 / 4)
خروجی:
35
42
5.0
در این برنامه:
- علامت – برای تفریق استفاده میشود.
- علامت * برای ضرب است.
- علامت / عمل تقسیم را انجام میدهد.
در پایتون، عمل تقسیم با / معمولاً نتیجهای از نوع اعشاری تولید میکند؛ به همین دلیل حاصل 20 / 4 به شکل 5.0 نمایش داده شده است.
مثال : تابلوی امتیاز مسابقه
بهجای محاسبات خرید یا نمره، امتیاز یک تیم را از ۳ برد و ۲ مساوی محاسبه کنید. هر برد ۳ امتیاز و هر مساوی ۱ امتیاز دارد.
wins = 3
draws = 2
points = wins * 3 + draws
print("Team points:", points)
خروجی:
Team points: 11
آزمایش بیشتر: اگر تعداد بردها ۴ و مساویها ۱ باشد، خروجی چه میشود؟
۵-۲. تفاوت عدد و متن عددی
دو دستور زیر را بررسی کنید:
print(10 + 20)
print("10 + 20")
خروجی:
30
10 + 20
چرا نتایج متفاوتاند؟
در دستور اول، اعداد بدون نقلقول نوشته شدهاند. بنابراین پایتون عبارت ریاضی را محاسبه میکند.
در دستور دوم، تمام عبارت درون علامت نقلقول قرار گرفته است.
در نتیجه، پایتون آن را بهعنوان متن در نظر میگیرد و همان متن را نمایش میدهد.
این تفاوت از مهمترین مفاهیم مقدماتی برنامهنویسی است.
عدد برای انجام محاسبه استفاده میشود، اما رشته متنی ممکن است صرفاً مجموعهای از کاراکترها باشد، حتی اگر آن کاراکترها شامل رقم باشند.
مثال : تفاوت کد و متن در تابلو
نشان دهید چرا خروجی محاسبه ریاضی با نمایش همان عبارت بهصورت رشته فرق دارد.
print("8 * 6")
print(8 * 6)
خروجی:
8 * 6
48
آزمایش بیشتر:یک خط جدید به برنامه اضافه کنید که عبارت 4 + 9 را بدون انجام محاسبه نمایش دهد.
مثال: عدد روی برچسب یا محاسبه؟
هدف آموزشی: تشخیص تفاوت ظاهری یکسان و رفتار محاسباتی
صورت مسئله: عدد 12 را هم بهعنوان برچسب و هم در یک محاسبه نشان دهید.
print('12')
print(12)
print(12 + 3)
خروجی:
12
12
15
آزمایش بیشتر: در خط سوم 12 را داخل نقلقول بگذارید و پیام خطا را بررسی کنید.
۵-۳. اولویت عملیات ریاضی
پایتون هنگام محاسبه عبارتهای ریاضی از قواعد مشخصی برای اولویت عملگرها پیروی میکند.
مثال:
print(2 + 3 * 4)
خروجی:
14
چرا نتیجه ۲۰ نیست؟
زیرا عمل ضرب قبل از جمع انجام میشود.
ابتدا 3 * 4 محاسبه شده و نتیجه ۱۲ به عدد ۲ اضافه میشود.
اکنون پرانتز را به برنامه اضافه کنید:
print((2 + 3) * 4)
خروجی:
20
در این مثال، پرانتز باعث میشود ابتدا جمع انجام شود.
استفاده مناسب از پرانتز علاوه بر کنترل ترتیب محاسبه، خوانایی برنامه را نیز افزایش میدهد.
مثال : اهمیت پرانتز در محاسبات
هزینه فرضی بستههای ۲ و ۳ واحدی با ضریب ۴ را با دو ترتیب متفاوت محاسبه کنید.
print(2 + 3 * 4)
print((2 + 3) * 4)
خروجی:
14
20
آزمایش بیشتر: توضیح دهید چرا دو عدد ۱۴ و ۲۰ برابر نیستند.
۵-۴. تمرین کوچک محاسباتی
فرض کنید قیمت یک دفتر ۳۰ هزار تومان و قیمت یک خودکار ۱۵ هزار تومان است.
میخواهیم مجموع هزینه خرید دو دفتر و سه خودکار را محاسبه کنیم.
کد:
print(2 * 30000 + 3 * 15000)
خروجی:
105000
اکنون برنامه را تغییر دهید تا هزینه خرید سه دفتر و چهار خودکار را محاسبه کند.
سعی کنید ابتدا نتیجه را روی کاغذ به دست آورید و سپس آن را با خروجی پایتون مقایسه کنید.
۶. آشنایی مقدماتی با متغیرها
۶-۱. چرا به متغیر نیاز داریم؟
در مثال قبل، قیمت دفتر و خودکار را مستقیماً داخل دستور محاسبه نوشتیم.
این روش برای برنامههای بسیار کوچک مناسب است، اما در برنامههای بزرگتر مشکلاتی ایجاد میکند.
فرض کنید قیمت دفتر از ۳۰ هزار تومان به ۳۵ هزار تومان افزایش یابد. اگر این عدد در بخشهای مختلف برنامه تکرار شده باشد، باید تمام محلهای استفاده از آن را اصلاح کنیم.
برای حل این مسئله میتوانیم مقدار را به یک نام اختصاص دهیم.
در پایتون چنین کاری با انتساب مقدار به یک متغیر انجام میشود.
۶-۲. ایجاد اولین متغیر
کد زیر را اجرا کنید:
name = "Sara"
print(name)
خروجی:
Sara
در خط اول، نام name را به مقدار متنی “Sara” اختصاص دادهایم.
در خط دوم، مقدار مربوط به name را نمایش دادهایم.
اکنون دقت کنید:
print("name")
print(name)
خروجی:
name
Sara
دستور اول متن name را نمایش میدهد.
دستور دوم مقدار متغیری با نام name را نمایش میدهد.
این تفاوت نشان میدهد که علامتهای نقلقول در پایتون اهمیت دارند.
مثال تکمیلی: تغییر برچسب ایستگاه
هدف آموزشی: تمایز نام متغیر و مقدار فعلی آن
صورت مسئله: نام یک ایستگاه را در متغیر قرار دهید؛ آن را تغییر دهید و دوباره چاپ کنید.
station = 'West'
print(station)
station = 'East'
print(station)
خروجی:
West
East
آزمایش بیشتر: دستور print(‘station’) را به انتهای کد اضافه کنید.
۶-۳. استفاده از چند متغیر
برنامه زیر را اجرا کنید:
student_name = "Ali"
student_age = 19
student_score = 18
print("Student:", student_name)
print("Age:", student_age)
print("Score:", student_score)
خروجی:
Student: Ali
Age: 19
Score: 18
اکنون مقدار نام، سن و نمره را تغییر دهید.
برای مثال، نام دلخواه خود را وارد کنید.
توجه کنید که تغییر مقدار یک متغیر میتواند خروجی برنامه را تغییر دهد، بدون آنکه نیاز باشد ساختار دستورهای نمایش را بازنویسی کنیم.
نکته آموزشی: در درس بعدی با مفهوم متغیر، نامگذاری و نحوه نگهداری دادهها بهصورت کامل آشنا خواهیم شد. فعلاً هدف فقط مشاهده کاربرد عملی متغیر است.
مثال: برنامه حرکت دوچرخهسواری
مدت سه بخش یک مسیر بر حسب دقیقه را جمع و مدت کل را گزارش کنید.
part1 = 18
part2 = 27
part3 = 15
total_minutes = part1 + part2 + part3
print("Travel time:", total_minutes, "minutes")
خروجی:
Travel time: 60 minutes
آزمایش بیشتر: بدون تغییر دستور print، فقط یکی از زمانها را تغییر دهید.
مثال : حجم یک جعبه نمایشگاهی
با اندازههای فرضی، حجم یک جعبه را محاسبه کنید. این مثال برای تمرین ارتباط نام متغیر، عدد و نتیجه است.
length = 8
width = 4
height = 3
volume = length * width * height
print("Volume:", volume)
خروجی:
Volume: 96
آزمایش بیشتر: برای یک جعبه ۵×۵×۲ مقدارها را عوض کنید.
۷. توضیح و مستندسازی کد با Comment
۷-۱. کامنت چیست؟
گاهی لازم است در کنار دستورهای برنامه، توضیحی برای خودمان یا سایر برنامهنویسان بنویسیم.
این توضیحها را کامنت (Comment) مینامند.
در پایتون، میتوان کامنت تکخطی را با علامت # آغاز کرد.
مثال:
# This program displays a welcome message
print("Welcome to Python")
خروجی:
Welcome to Python
مشاهده میکنید که متن کامنت در خروجی نمایش داده نشده است.
زیرا کامنت برای توضیح کد نوشته میشود و دستور اجرایی معمولی محسوب نمیشود.
۷-۲. استفاده از کامنت در برنامههای واقعی
مثال:
# Prices in tomans
book_price = 50000
pen_price = 10000
# Calculate total price
total = book_price + pen_price
# Display the result
print(total)
خروجی:
60000
در این مثال، کامنتها هدف قسمتهای مختلف برنامه را مشخص میکنند.
همچنین میتوانید کامنت فارسی بنویسید:
# نمایش پیام خوشامدگویی
سلام دانشجو print("!")
۷-۳. چه زمانی از کامنت استفاده کنیم؟
کامنت خوب باید به درک برنامه کمک کند.
برای نمونه، توضیح دلیل انجام یک محاسبه پیچیده یا ثبت واحد اندازهگیری میتواند مفید باشد.
اما لازم نیست برای هر دستور بسیار ساده توضیحی تکراری بنویسیم.
بهمرور یاد میگیریم که نامگذاری مناسب و طراحی خوانا اهمیت بیشتری از تعداد زیاد کامنت دارد.
مثال: کامنتِ دلیل، نه تکرار
هدف آموزشی: نوشتن توضیح مفید درباره فرض محاسبه
صورت مسئله: در برنامهای کوتاه، دلیل استفاده از ضریب 60 را در کامنت بیان کنید.
# Convert minutes to seconds: each minute has 60 seconds.
minutes = 3
seconds = minutes * 60
print(seconds)
خروجی:
180
آزمایش بیشتر: کامنت را حذف کنید و ببینید خروجی ثابت میماند.
۸. خطاهای رایج در اولین برنامههای پایتون
اشتباهکردن هنگام برنامهنویسی کاملاً طبیعی است. حتی برنامهنویسان باتجربه نیز با خطا مواجه میشوند.
تفاوت مهم در این است که برنامهنویس باید یاد بگیرد چگونه پیام خطا را بخواند، علت آن را پیدا کند و برنامه را اصلاح کند.
۸-۱. فراموشکردن علامت نقلقول
کد اشتباه:
print("Hello)
در این دستور، علامت نقلقول پایانی وجود ندارد.
پایتون نمیتواند پایان رشته را تشخیص دهد و خطایی از نوع SyntaxError گزارش میکند.
کد صحیح:
print("Hello")
راهکار: همیشه علامتهای نقلقول آغاز و پایان رشته را بررسی کنید.
۸-۲. فراموشکردن پرانتز
کد اشتباه:
print("Hello"
در این مثال، پرانتز بسته فراموش شده است.
کد صحیح:
print("Hello")
اگر هنگام نوشتن دستور با خطای نحوی مواجه شدید، بررسی تطابق پرانتزها یکی از نخستین اقدامهاست.
۸-۳. اشتباه در حروف بزرگ و کوچک
کد اشتباه:
PRINT("Hello")
پایتون نام PRINT را بهعنوان تابع داخلی print نمیشناسد.
در یک محیط معمول که چنین نامی قبلاً تعریف نشده باشد، اجرای این کد با خطای NameError همراه میشود.
کد صحیح:
print("Hello")
مثال : اشکالزدایی تابلو
در نسخه اشتباه حروف بزرگ و کوچک و نام متغیر با هم سازگار نیستند. نسخه درست را اجرا کنید.
place = "North Gate"
print("Meeting point:", place)
print("Be on time")
خروجی:
Meeting point: North Gate | Be on time
آزمایش بیشتر: نسخه غلط پیشنهادی: Place = “North Gate” و print(place)؛ دلیل خطا را توضیح دهید.
۸-۴. اشتباه در نام متغیر
کد اشتباه:
student_name = "Ali"
print(student_nam)
در خط اول نام student_name تعریف شده، اما در خط دوم student_nam نوشته شده است.
در نتیجه، پایتون نمیتواند نام دوم را پیدا کند.
کد اصلاحشده:
student_name = "Ali"
print(student_name)
خروجی:
Ali
۸-۵. تفاوت خطای نگارشی و خطای منطقی
همه خطاها باعث توقف اجرای برنامه نمیشوند.
برای مثال:
print(10 - 20)
این برنامه بدون خطای نگارشی اجرا میشود و نتیجه -10 را نمایش میدهد.
اما فرض کنید هدف ما جمع دو عدد بوده است.
در این صورت، برنامه اجرا شده ولی نتیجه موردنظر را تولید نکرده است.
به این نوع مشکل خطای منطقی (Logical Error) میگوییم.
بنابراین موفقیت در اجرای برنامه، بهتنهایی به معنی درستبودن منطق آن نیست.
برای بررسی درستی برنامه باید خروجی آن را با نتیجه مورد انتظار مقایسه کنیم.
مثال : خطای بیسروصدای زمان
هدف آموزشی: تشخیص خطای منطقی بدون SyntaxError
صورت مسئله: مدت دو بخش یک فعالیت 20 و 15 دقیقه است. نسخه اشتباه و درست را مقایسه کنید.
first = 20
second = 15
print(first - second)
print(first + second)
خروجی:
5
35
آزمایش بیشتر: مقدار second را 25 قرار دهید و دو نتیجه را تحلیل کنید.
۹. پروژه عملی: ساخت کارت معرفی دانشجو
در این بخش یک برنامه چندخطی میسازیم که اطلاعات یک دانشجو را به شکل منظم نمایش میدهد.
هدف پروژه آن است که چند مفهوم آموختهشده را در کنار هم به کار ببریم.
۹-۱. تعریف مسئله
فرض کنید قرار است برنامهای بسازیم که مشخصات یک دانشجو را نمایش دهد.
اطلاعات موردنظر عبارتاند از:
- نام
- سن
- رشته تحصیلی
- دانشگاه
- پیام پایانی
در گام نخست، مقادیر را مستقیماً با print() نمایش میدهیم.
۹-۲. نسخه اول برنامه
print("STUDENT PROFILE")
print("--------------------")
print("Name: Sara")
print("Age: 20")
print("Major: Computer Science")
print("University: Tehran")
print("--------------------")
print("Welcome to Python!")
خروجی:
STUDENT PROFILE
--------------------
Name: Sara
Age: 20
Major: Computer Science
University: Tehran
--------------------
Welcome to Python!
این برنامه از چند دستور نمایش تشکیل شده است.
خط اول عنوان کارت را چاپ میکند.
خطوط دارای علامت – نقش جداکننده بصری دارند.
سایر خطوط اطلاعات دانشجو را نمایش میدهند.
۹-۳. نسخه دوم با استفاده از متغیرها
اکنون همان برنامه را با متغیرها بازنویسی میکنیم:
name = "Sara"
age = 20
major = "Computer Science"
university = "Tehran"
print("STUDENT PROFILE")
print("--------------------")
print("Name:", name)
print("Age:", age)
print("Major:", major)
print("University:", university)
print("--------------------")
print("Welcome to Python!")
خروجی همان نسخه قبلی است.
اما یک تفاوت مهم وجود دارد: اکنون اطلاعات دانشجو در چهار متغیر ذخیره شدهاند.
اگر بخواهیم برنامه را برای دانشجوی دیگری استفاده کنیم، کافی است مقادیر چهار متغیر را تغییر دهیم.
این ویژگی یکی از مزایای استفاده از متغیرهاست.
۹-۴. نسخه سوم با متن فارسی
name =" سارا "
age = 20
major = "مهندسی کامپیوتر"
print("کارت معرفی دانشجو")
print("--------------------")
print("نام:", name)
print("سن:", age)
print("رشته:", major)
print("--------------------")
print("به دوره پایتون خوش آمدید.")
خروجی:
کارت معرفی دانشجو
--------------------
نام: سارا
سن: 20
رشته: مهندسی کامپیوتر
--------------------
به دوره پایتون خوش آمدید.
با این مثال مشاهده میکنیم که امکان ترکیب متن فارسی، مقدار عددی و متغیرها در خروجی وجود دارد.
۹-۵. توسعه پروژه توسط دانشجو
حالا نوبت شماست.
برنامه را به شکلی تغییر دهید که اطلاعات زیر را نیز نمایش دهد:
۱. شماره دانشجویی فرضی
۲. سال ورود به دانشگاه
۳. نام درس موردعلاقه
۴. یک جمله درباره هدف شما از یادگیری پایتون
همچنین تلاش کنید خروجی را با خطوط جداکننده و فاصلههای مناسب خواناتر کنید.
معیار موفقیت: برنامه باید بدون خطا اجرا شود و تمام اطلاعات را به ترتیب مشخص نمایش دهد.
۹-۶. پروژه تکمیلی: ساخت تابلوی دیجیتال رصدخانه
در پروژه قبلی یاد گرفتیم چگونه اطلاعات یک دانشجو را با استفاده از دستور print() و متغیرها نمایش دهیم. اکنون میخواهیم این مهارتها را در یک موقعیت متفاوت به کار ببریم و برنامهای برای نمایش اطلاعات یک رویداد عمومی بسازیم.
۹-۶-۱. تعریف مسئله
فرض کنید مسئول برگزاری یک برنامه رصد آسمان شب در یک رصدخانه هستید. میخواهید برنامهای بنویسید که اطلاعات رویداد را در قالب یک تابلوی متنی نمایش دهد.
این اطلاعات عبارتاند از:
- نام رویداد
- ساعت آغاز برنامه
- تعداد بلیتهای فروختهشده
- قیمت هر بلیت
- مجموع درآمد حاصل از فروش بلیتها
برنامه باید درآمد کل را محاسبه کند و نتیجه را به شکلی منظم نمایش دهد.
۹-۶-۲. نوشتن برنامه
ابتدا اطلاعات را در متغیرهای جداگانه ذخیره میکنیم. سپس تعداد بلیتها را در قیمت هر بلیت ضرب کرده و درآمد کل را به دست میآوریم.
# Observatory session
event_name = "Night Sky"
start_hour = 20
tickets = 12
ticket_price = 50000
income = tickets * ticket_price
print("OBSERVATORY EVENT")
print("-------------------------")
print("Event:", event_name)
print("Start hour:", start_hour)
print("Tickets sold:", tickets)
print("Ticket price:", ticket_price)
print("-------------------------")
print("Total income:", income)
خروجی:
OBSERVATORY EVENT
-------------------------
Event: Night Sky
Start hour: 20
Tickets sold: 12
Ticket price: 50000
-------------------------
Total income: 600000
۹-۶-۳. بررسی عملکرد برنامه
در این برنامه، اطلاعات رویداد بهصورت مستقیم در کد وارد شدهاند؛ بنابراین هنوز به دریافت ورودی از کاربر نیاز نداریم.متغیر tickets تعداد بلیتهای فروختهشده را نگهداری میکند و متغیر ticket_price قیمت هر بلیت را مشخص میکند.
در دستور زیر، درآمد کل محاسبه میشود:
income = tickets * ticket_price
با توجه به فروش ۱۲ بلیت با قیمت ۵۰ هزار تومان، درآمد برابر با ۶۰۰ هزار تومان خواهد بود.
همچنین از دستورهای print() برای نمایش منظم اطلاعات و از علامت # برای نوشتن توضیح در کد استفاده کردهایم.
۹-۶-۴. توسعه پروژه توسط دانشجو
اکنون برنامه را توسعه دهید:
۱. نام رویداد را به یک نام دلخواه تغییر دهید.
۲. تعداد بلیتهای فروختهشده را به ۲۰ افزایش دهید.
۳. قیمت هر بلیت را به ۶۰ هزار تومان تغییر دهید.
۴. برنامه را دوباره اجرا کنید و درآمد جدید را بررسی کنید.
۵. یک پیام پایانی مانند Thank you for joining! به خروجی اضافه کنید.
معیار موفقیت: برنامه باید بدون خطا اجرا شود، درآمد را از روی مقادیر متغیرها محاسبه کند و خروجی آن مرتب و قابل فهم باشد.
این پروژه نشان میدهد که حتی با چند دستور ساده پایتون میتوان یک برنامه کوچک و کاربردی ساخت.
۱۰. مجموعه تمرینهای آموزشی
برای تسلط بر مطالب درس، ۳۸ تمرین در چهار سطح و گروه آموزشی طراحی شده است.
۱۰-۱. تمرینهای مقدماتی
تمرین ۱. نمایش پیام شخصی
برنامهای بنویسید که نام شما را نمایش دهد. در خط دوم پیام خوشامدگویی و در خط سوم نام رشته تحصیلی شما چاپ شود.
تمرین ۲. نمایش چند خط متن
برنامهای بنویسید که عبارتهای زیر را در سه خط مجزا نمایش دهد:
I am learning Python.
Python is interesting.
Practice makes progress.
تمرین ۳. استفاده از متن فارسی
برنامهای بنویسید که عبارت «سلام دنیا» و سپس «اولین برنامه من با موفقیت اجرا شد» را چاپ کند.
تمرین ۴. تشخیص کد و خروجی
مشخص کنید کدام عبارت، کد پایتون و کدامیک خروجی برنامه است:
print("Learning")
Learning
تمرین ۵. محاسبات ساده
با استفاده از print() حاصل چهار محاسبه زیر را نمایش دهید:
- جمع ۱۲ و ۸
- تفریق ۴۵ و ۱۷
- ضرب ۹ در ۶
- تقسیم ۸۰ بر ۵
تمرین ۶. بررسی علامت نقلقول
دو برنامه بنویسید که یکی از نقلقول تکی و دیگری از نقلقول دوتایی استفاده کند، اما هر دو خروجی یکسانی داشته باشند.
۱۰-۲. تمرینهای سطح متوسط
تمرین ۷. محاسبه هزینه خرید
قیمت یک کتاب ۱۲۰ هزار تومان و قیمت یک دفتر ۳۵ هزار تومان است. برنامهای بنویسید که هزینه خرید دو کتاب و سه دفتر را محاسبه کند.
تمرین ۸. کارت مشخصات
با استفاده از متغیرها، نام، سن، شهر و رشته تحصیلی یک دانشجوی فرضی را نمایش دهید.
تمرین ۹. مقایسه خروجیها
کد زیر را اجرا کنید:
print(7 + 3)
print("7 + 3")
توضیح دهید چرا خروجی دو خط متفاوت است.
تمرین ۱۰. مدیریت فاصلهها
برنامهای بنویسید که ابتدا عنوان یک گزارش را نمایش دهد، سپس یک خط خالی قرار دهد و پس از آن سه مقدار عددی را چاپ کند.
تمرین ۱۱. محاسبه مساحت مستطیل
طول یک مستطیل ۱۲ متر و عرض آن ۵ متر است. با استفاده از متغیرهای length و width، مساحت را محاسبه و نمایش دهید.
تمرین ۱۲. اصلاح برنامه
کد زیر دارای چند خطاست. آنها را پیدا کرده و برنامه را اصلاح کنید.
Name = "Ali"
print("Student:", name)
Print("Welcome")
۱۰-۳. تمرینهای چالشی
تمرین ۱۳. گزارش فروش
برنامهای بنویسید که قیمت و تعداد فروش سه کالا را در متغیرها ذخیره کرده و مجموع درآمد را محاسبه کند.
مقادیر فرضی:
- کالای اول: قیمت ۵۰ هزار تومان، تعداد ۴
- کالای دوم: قیمت ۸۰ هزار تومان، تعداد ۲
- کالای سوم: قیمت ۳۰ هزار تومان، تعداد ۵
تمرین ۱۴. محاسبه معدل
سه نمره ۱۶، ۱۸ و ۲۰ را در سه متغیر ذخیره کنید و میانگین آنها را محاسبه کنید.
تمرین ۱۵. ساخت رسید خرید
برنامهای بنویسید که نام کالا، قیمت واحد، تعداد و مبلغ کل را نمایش دهد.
خروجی باید دارای عنوان و خطوط جداکننده باشد.
تمرین ۱۶. طراحی پیام چندخطی
یک پیام خوشامدگویی دانشگاهی شامل عنوان، نام دانشگاه، نام درس و جمله پایانی طراحی کنید.
سعی کنید با استفاده از متغیرها، تغییر نام دانشگاه یا درس فقط در یک نقطه از برنامه انجام شود.
تمرین ۱۷. تحلیل اجرای برنامه
بدون اجرای کد، خروجی برنامه زیر را پیشبینی کنید:
number = 5
print(number)
print(number + 10)
number = 20
print(number)
سپس کد را اجرا کنید و نتیجه را با پیشبینی خود مقایسه کنید.
تمرین ۱۸. پروژه مستقل
برنامهای با عنوان «گزارش یک روز دانشجویی» بسازید که شامل نام دانشجو، تعداد ساعت مطالعه، تعداد ساعت کلاس و مجموع زمان فعالیت آموزشی باشد.
شرایط برنامه:
- دستکم چهار متغیر داشته باشد.
- از حداقل پنج دستور print() استفاده کند.
- حداقل یک محاسبه ریاضی انجام دهد.
- دارای کامنت توضیحی باشد.
- خروجی مرتب و قابل فهم تولید کند.
۱۰-۴. تمرینهای تکمیلی و مسئلهمحور
در این بخش، ۲۰ تمرین جدید برای تقویت مهارتهای برنامهنویسی طراحی شده است. تمرینها در چهار گروه تنظیم شدهاند: پیشبینی خروجی، اشکالزدایی، محاسبات کاربردی و طراحی برنامه مستقل.
پیشنهاد میشود ابتدا پاسخ تمرینها را بدون اجرای کد حدس بزنید و سپس با اجرای برنامه، درستی پاسخ خود را بررسی کنید.
دسته اول: درک کد و پیشبینی خروجی
تمرین ۱۹. بازنویسی خروجی
سه دستور بنویسید که عنوان «نقشه راه»، عبارت «مرحله اول» و پیام «پایان» را در سه خط جداگانه نمایش دهند.
ارجاع آموزشی: بخش ۴-۱، اجرای چند دستور پشت سر هم.
تمرین ۲۰. خروجی را حدس بزن
پیش از اجرای دستورات زیر، خروجی هرکدام را پیشبینی کنید:
print("6 + 4")
print(6 + 4)
توضیح دهید چرا نتایج متفاوت هستند.
ارجاع آموزشی: بخش ۵-۲، تفاوت عدد و متن عددی.
تمرین ۲۱. مکانیابی خطا
کد زیر را بررسی کنید:
PRINT("Start")
مشخص کنید چرا این دستور در یک محیط تازه اجرا نمیشود و نسخه صحیح آن را بنویسید.
ارجاع آموزشی: بخش ۸-۳، اشتباه در حروف بزرگ و کوچک.
تمرین ۲۲. کد ناتمام
فرض کنید متغیر زیر قبلاً تعریف شده است:
room = "C21"
جای خالی را طوری کامل کنید که نام اتاق نمایش داده شود:
print("Room:", _____)
ارجاع آموزشی: بخش ۶-۲، ایجاد اولین متغیر.
تمرین ۲۳. چینش دستورها
سه پیام End، Start و Middle را با استفاده از دستورهای print() طوری مرتب کنید که خروجی به ترتیب زیر باشد:
Start
Middle
End
ارجاع آموزشی: بخش ۴-۲، اهمیت ترتیب دستورها.
دسته دوم: اشکالزدایی و تکمیل کد
تمرین ۲۴. ریاضی بدون ماشینحساب
بدون اجرای برنامه، خروجی کد زیر را پیشبینی کنید:
print(7 + 2 * 5)
سپس برنامه را اجرا کرده و نتیجه را بررسی کنید.
ارجاع آموزشی: بخش ۵-۳، اولویت عملیات ریاضی.
تمرین ۲۵. تغییر یک داده
برنامهای بنویسید که ساعت آغاز یک جلسه را در متغیر start_hour ذخیره و نمایش دهد. سپس فقط مقدار متغیر را تغییر دهید و نتیجه جدید را مشاهده کنید.
ارجاع آموزشی: بخش ۶-۲، ایجاد اولین متغیر.
تمرین ۲۶. بازسازی خروجی
برنامهای بنویسید که دقیقاً خروجی زیر را تولید کند:
EXHIBITION
Hall A
ارجاع آموزشی: بخش ۴-۱، اجرای چند دستور پشت سر هم.
تمرین ۲۷. کارآگاه نقلقول
کد زیر را بررسی کنید:
print("Welcome)
مشخص کنید مشکل چیست و دستور صحیح را بنویسید.
ارجاع آموزشی: بخش ۸-۱، فراموشکردن علامت نقلقول.
تمرین ۲۸. خط خالی هدفمند
برنامهای بنویسید که عنوان یک رویداد و محل برگزاری آن را نمایش دهد. بین این دو عبارت باید دقیقاً یک خط خالی وجود داشته باشد.
ارجاع آموزشی: بخش ۴-۳، نمایش خط خالی در خروجی.
دسته سوم: محاسبات و گزارشهای کاربردی
تمرین ۲۹. عدد یا متن؟
دو دستور بنویسید که یکی مقدار عددی 25 و دیگری رشته متنی “25” را نمایش دهد.
توضیح دهید چرا با وجود خروجی ظاهراً یکسان، این دو مقدار از نظر نوع داده متفاوت هستند.
ارجاع آموزشی: بخش ۵-۲، تفاوت عدد و متن عددی.
تمرین ۳۰. گزارش زمان
فرض کنید در یک روز دو فعالیت به مدت ۴۵ و ۳۵ دقیقه انجام دادهاید. مدت هر فعالیت را در یک متغیر ذخیره کنید و مجموع زمان را محاسبه و نمایش دهید.
ارجاع آموزشی: بخش ۶-۳، استفاده از چند متغیر.
تمرین ۳۱. اصلاح نام متغیر
کد زیر را در یک محیط تازه بررسی کنید:
city = "Tabriz"
print(City)
علت خطا را توضیح دهید و برنامه را اصلاح کنید.
ارجاع آموزشی: بخش ۸-۴، اشتباه در نام متغیر.
تمرین ۳۲. مقایسه دو فرمول
خروجی دو عبارت زیر را محاسبه و مقایسه کنید:
print(12 - 3 * 2)
print((12 - 3) * 2)
توضیح دهید چرا جوابها متفاوتاند.
ارجاع آموزشی: بخش ۵-۳، اولویت عملیات ریاضی.
تمرین ۳۳. تابلوی رویداد
برنامهای بنویسید که نام یک نشست، نام سالن و ساعت آغاز آن را در سه متغیر ذخیره کند و اطلاعات را زیر یک عنوان ثابت نمایش دهد.
ارجاع آموزشی: بخش ۶-۳، استفاده از چند متغیر.
دسته چهارم: ساخت خروجی مستقل
تمرین ۳۴. خروجی یکخطی
دو متغیر x و y با مقادیر ۴ و ۹ تعریف کنید. سپس تنها با یک دستور print() خروجی زیر را تولید کنید:
X: 4 Y: 9
ارجاع آموزشی: بخش ۴-۴، نمایش چند مقدار با یک دستور.
تمرین ۳۵. اشکالیابی ترکیبی
هر یک از دستورهای زیر را بهصورت مستقل در نظر بگیرید و مشکل آن را مشخص کنید:
Print("GO")
print("STOP)
print(unknown_name)
فرض کنید متغیر unknown_name قبلاً تعریف نشده است.
ارجاع آموزشی: بخشهای ۸-۱ تا ۸-۴، خطاهای رایج.
تمرین ۳۶. طراحی خروجی
برنامهای بنویسید که بهترتیب یک پیام آغازین، یک خط خالی، نتیجه ضرب ۷ در ۸ و یک پیام پایانی را نمایش دهد.
ارجاع آموزشی: بخشهای ۴-۱، ۴-۳ و ۵-۱.
تمرین ۳۷. آزمون تغییرپذیری
متغیر seats را ابتدا برابر ۳۶ قرار دهید و مقدار آن را چاپ کنید. سپس مقدار متغیر را به ۳۰ تغییر دهید و دوباره نمایش دهید.
ارجاع آموزشی: بخش ۶-۲، ایجاد اولین متغیر.
تمرین ۳۸. مأموریت نهایی: توسعه تابلوی رصدخانه
به پروژه بخش ۹-۶ مراجعه کنید. برنامه را برای یک رویداد جدید بازنویسی کنید که تعداد بلیتهای فروختهشده آن ۲۰ عدد و قیمت هر بلیت ۶۰ هزار تومان باشد.
در برنامه جدید:
- از متغیرهای مستقل برای تعداد و قیمت استفاده کنید.
- درآمد را محاسبه و نمایش دهید.
- دستکم یک کامنت توضیحی بنویسید.
- یک پیام پایانی به تابلوی رویداد اضافه کنید.
ارجاع آموزشی: بخش ۹-۶، پروژه تکمیلی تابلوی دیجیتال رصدخانه.
پاسخهای پیشنهادی این تمرینها در بخش ۱۱-۴ ارائه شدهاند.
۱۱. پاسخهای تشریحی و راهنمای تمرینها
۱۱-۱. پاسخ تمرینهای مقدماتی
پاسخ تمرین ۱
print("My name is Sara")
print("Welcome to my first program")
print("My major is Engineering")
این برنامه از سه دستور مستقل تشکیل شده است و هر پیام را در خط جدید نمایش میدهد.
پاسخ تمرین ۲
print("I am learning Python.")
print("Python is interesting.")
print("Practice makes progress.")
–پاسخ تمرین ۳
print("سلام دنیا")
print("اولین برنامه من با موفقیت اجرا شد")
پاسخ تمرین ۴
عبارت print(“Learning”) کد برنامه است.
عبارت Learning خروجی آن است.
پاسخ تمرین ۵
print(12 + 8)
print(45 - 17)
print(9 * 6)
print(80 / 5)
خروجی:
20
28
54
16.0
پاسخ تمرین ۶
print("Python")
print('Python')
هر دو خط متن یکسانی نمایش میدهند.
۱۱-۲. پاسخ تمرینهای متوسط
پاسخ تمرین ۷
book_price = 120000
notebook_price = 35000
total = 2 * book_price + 3 * notebook_price
print("Total:", total)
خروجی:
Total: 345000
پاسخ تمرین ۸
name = "Sara"
age = 21
city = "Tehran"
major = "Engineering"
print("Name:", name)
print("Age:", age)
print("City:", city)
print("Major:", major)
پاسخ تمرین ۹
دستور اول عبارت ریاضی را محاسبه میکند و نتیجه ۱۰ را نمایش میدهد.
دستور دوم یک رشته متنی است و عبارت 7 + 3 را بدون انجام محاسبه نمایش میدهد.
پاسخ تمرین ۱۰
print("DAILY REPORT")
print()
print("Value 1:", 10)
print("Value 2:", 20)
print("Value 3:", 30)
پاسخ تمرین ۱۱
length = 12
width = 5
area = length * width
print("Area:", area)
خروجی:
Area: 60
پاسخ تمرین ۱۲
name = "Ali"
print("Student:", name)
print("Welcome")
در این مثال باید نام متغیر را در همه قسمتهای برنامه یکسان بنویسیم و تابع داخلی print را با حروف کوچک فراخوانی کنیم.
۱۱-۳. راهنمای تمرینهای چالشی
پاسخ تمرین ۱۳
price1 = 50000
quantity1 = 4
price2 = 80000
quantity2 = 2
price3 = 30000
quantity3 = 5
total = (
price1 * quantity1
+ price2 * quantity2
+ price3 * quantity3
)
print("Total sales:", total)
خروجی:
Total sales: 510000
پاسخ تمرین ۱۴
grade1 = 16
grade2 = 18
grade3 = 20
average = (grade1 + grade2 + grade3) / 3
print("Average:", average)
خروجی:
Average: 18.0
پاسخ تمرین ۱۵
product = "Notebook"
price = 35000
quantity = 3
total = price * quantity
print("PURCHASE RECEIPT")
print("--------------------")
print("Product:", product)
print("Unit Price:", price)
print("Quantity:", quantity)
print("--------------------")
print("Total:", total)
–پاسخ تمرین ۱۶
university = "Tehran University"
course = "Python Programming"
print("----------------------------")
print("WELCOME TO THE COURSE")
print()
print("University:", university)
print("Course:", course)
print()
print("We wish you success!")
print("----------------------------")
پاسخ تمرین ۱۷
خروجی مورد انتظار:
5
15
20
در ابتدا مقدار متغیر number برابر ۵ است.
دستور دوم مقدار متغیر را با ۱۰ جمع میکند.
در ادامه مقدار متغیر به ۲۰ تغییر میکند و دستور آخر مقدار جدید آن را نمایش میدهد.
راهنمای تمرین ۱۸
برای حل این تمرین ابتدا نام دانشجو و ساعتهای فعالیت را تعریف کنید. سپس مجموع ساعتها را محاسبه کرده و نتیجه را همراه با اطلاعات دیگر نمایش دهید.
نمونه پاسخ:
# Student daily report
name = "Sara"
study_hours = 4
class_hours = 3
total_hours = study_hours + class_hours
print("STUDENT DAILY REPORT")
print("-------------------------")
print("Name:", name)
print("Study:", study_hours, "hours")
print("Class:", class_hours, "hours")
print("-------------------------")
print("Total:", total_hours, "hours")
خروجی:
STUDENT DAILY REPORT
-------------------------
Name: Sara
Study: 4 hours
Class: 3 hours
-------------------------
Total: 7 hours
این برنامه نخستین نمونهای است که در آن دادهها را ذخیره میکنیم، روی آنها محاسبه انجام میدهیم و یک گزارش قابل استفاده تولید میکنیم.
۱۱-۴. پاسخ تمرینهای تکمیلی و مسئلهمحور
پاسخهای زیر نمونههایی از راهحلهای صحیح هستند. ممکن است دانشجو با روش دیگری نیز به نتیجه درست برسد.
پاسخ تمرین ۱۹
Print(“نقشه راه”)
Print(“مرحله اول”)
Print(“پایان”)
پاسخ تمرین ۲۰
6 + 4
10
دستور اول یک رشته متنی را نمایش میدهد، اما دستور دوم حاصل جمع دو عدد را محاسبه میکند.
پاسخ تمرین ۲۱
print(“Start”)
پایتون به حروف بزرگ و کوچک حساس است؛ بنابراین PRINT همان print نیست.
پاسخ تمرین ۲۲
room = "C21"
print("Room:", room)
پاسخ تمرین ۲۳
print("Start")
print("Middle")
print("End")
پاسخ تمرین ۲۴
خروجی برابر با 17 است؛ زیرا عمل ضرب قبل از جمع انجام میشود.
پاسخ تمرین ۲۵
start_hour = 9
print("Start:", start_hour)
start_hour = 10
print("Start:", start_hour)
پاسخ تمرین ۲۶
print("EXHIBITION")
print("Hall A")
پاسخ تمرین ۲۷
علامت نقلقول پایانی وجود ندارد. نسخه صحیح:
print(“Welcome”)
پاسخ تمرین ۲۸
print("Science Fair")
print()
print("Hall B")
پاسخ تمرین ۲۹
print(25)
print("25")
خروجی هر دو دستور از نظر ظاهری 25 است، اما مقدار اول عدد صحیح و مقدار دوم رشته متنی است.
پاسخ تمرین ۳۰
session_1 = 45
session_2 = 35
total = session_1 + session_2
print("Total minutes:", total)
خروجی:
Total minutes: 80
پاسخ تمرین ۳۱
city = "Tabriz"
print(city)
نام City با city متفاوت است. در یک محیط تازه، استفاده از City بدون تعریف قبلی باعث بروز NameError میشود.
پاسخ تمرین ۳۲
خروجیها بهترتیب 6 و 18 هستند؛ زیرا پرانتز ترتیب انجام عملیات را تغییر میدهد.
پاسخ تمرین ۳۳
title = "Robotics"
hall = "Hall 2"
hour = 14
print("EVENT")
print("Title:", title)
print("Hall:", hall)
print("Hour:", hour)
پاسخ تمرین ۳۴
x = 4
y = 9
print("X:", x, "Y:", y)
پاسخ تمرین ۳۵
- دستور اول: Print باید با حرف کوچک نوشته شود.
- دستور دوم: علامت نقلقول پایانی فراموش شده است.
- دستور سوم: متغیر unknown_name تعریف نشده است.
نمونه دستورهای اصلاحشده:
print("GO")
print("STOP")
unknown_name = "Python"
print(unknown_name)
پاسخ تمرین ۳۶
print("START")
print()
print(7 * 8)
print("DONE")
پاسخ تمرین ۳۷
seats = 36
print(seats)
seats = 30
print(seats)
خروجی:
36
30
پاسخ تمرین ۳۸
# New observatory event
event_name = "Moon Watch"
start_hour = 21
tickets = 20
ticket_price = 60000
income = tickets * ticket_price
print("OBSERVATORY EVENT")
print("--------------------")
print("Event:", event_name)
print("Start:", start_hour)
print("Tickets:", tickets)
print("Ticket price:", ticket_price)
print("Total income:", income)
print("Thank you for joining!")
خروجی درآمد کل برابر با 1200000 تومان خواهد بود.
معیار ارزیابی تمرینهای تکمیلی
برای ارزیابی پاسخها، علاوه بر نتیجه صحیح، به این موارد توجه شود:
- اجرای برنامه بدون خطا
- استفاده درست از دستورها و متغیرها
- رعایت ترتیب مناسب عملیات
- خوانایی کد و خروجی
- توانایی توضیح علت خطاها و تفاوت نتایج
در تمرینهای دارای بیش از یک راهحل، پاسخهای متفاوتی که نتیجه درست ایجاد کنند و با مباحث تدریسشده سازگار باشند، پذیرفتنی هستند.
۱۲. پرسشهای خودآزمایی
برای بررسی میزان یادگیری، ابتدا بدون مراجعه به متن درس به پرسشها پاسخ دهید.
- پرسش ۱. برنامهنویسی چیست و چه تفاوتی با اجرای یک برنامه آماده دارد؟
- پرسش ۲. وظیفه تابع print() چیست؟
- پرسش ۳. منظور از اجرای کد چیست؟
- پرسش ۴. چرا دستور print(“Hello”) با print(Hello) متفاوت است؟
- پرسش ۵. در پایتون کدام دستور صحیح است؟
الف) PRINT("Hello")
ب) print("Hello")
ج) Print("Hello")
- پرسش ۶. خروجی کد print(5 + 2 * 3) چیست؟
- پرسش ۷. چگونه میتوان یک خط خالی در خروجی ایجاد کرد؟
- پرسش ۸. کامنت چه کاربردی دارد؟
- پرسش ۹. اگر نام متغیر در دو خط برنامه متفاوت نوشته شود، چه مشکلی ممکن است رخ دهد؟
- پرسش ۱۰. آیا اجرای بدون خطای برنامه همواره به معنی صحیح بودن نتیجه آن است؟
پاسخهای خودآزمایی
۱. برنامهنویسی فرایند ساخت و اصلاح دستورهای برنامه است، درحالیکه اجرای برنامه آماده لزوماً به نوشتن کد نیاز ندارد.
۲. نمایش متنی مقادیر در خروجی استاندارد.
۳. پردازش و انجام عملیات مشخصشده در کد توسط محیط اجرا.
۴. عبارت اول رشته متنی دارد؛ عبارت دوم به نامی به نام Hello ارجاع میدهد که اگر تعریف نشده باشد باعث خطا میشود.
۵. گزینه ب.
۶. عدد ۱۱؛ زیرا ابتدا ضرب انجام میشود.
۷. با استفاده از print() بدون آرگومان.
۸. توضیح کد برای افزایش فهم و نگهداری آن.
۹. ممکن است خطای NameError رخ دهد یا از نام اشتباهی استفاده شود.
۱۰. خیر؛ خطای منطقی میتواند حتی در برنامه بدون خطای اجرایی وجود داشته باشد.
۱۳. پرسشهای متداول درباره اولین برنامه پایتون
۱۳-۱. آیا برای شروع یادگیری پایتون باید ریاضی پیشرفته بلد باشیم؟
خیر. برای شروع آموزش پایتون، آشنایی با چهار عمل اصلی و مفاهیم ساده ریاضی کافی است.
البته اگر بخواهید بعدها وارد حوزههایی مانند یادگیری ماشین، محاسبات علمی یا تحلیل آماری شوید، به دانش ریاضی متناسب با آن حوزه نیاز خواهید داشت.
۱۳-۲. آیا بدون نصب پایتون میتوان برنامهنویسی را شروع کرد؟
بله. محیطهای آنلاین مانند Google Colab امکان اجرای بسیاری از برنامههای مقدماتی پایتون را بدون نصب محلی فراهم میکنند.
بااینحال در ادامه مسیر، یادگیری نصب پایتون و اجرای فایلهای .py روی رایانه اهمیت دارد.
۱۳-۳. آیا میتوان در برنامههای پایتون از زبان فارسی استفاده کرد؟
بله. میتوانید متن فارسی را در رشتهها قرار دهید و آن را نمایش دهید.
در محیطهایی که از Unicode و فونت مناسب پشتیبانی میکنند، این متن بهدرستی نمایش داده میشود.
برای نامگذاری عناصر برنامه، استفاده از نامهای انگلیسی خوانا معمولاً توصیه میشود.
۱۳-۴. چرا برنامه اجرا میشود اما چیزی نمایش نمیدهد؟
همه دستورهای پایتون الزاماً خروجی قابل مشاهده تولید نمیکنند.
برای مثال:
number = 10
این دستور مقدار ۱۰ را به نام number اختصاص میدهد، اما خود آن چیزی را چاپ نمیکند.
اگر بخواهیم مقدار را مشاهده کنیم، میتوانیم بنویسیم:
number = 10
print(number)
۱۳-۵. آیا باید تمام دستورهای پایتون را حفظ کنیم؟
خیر. برنامهنویسی بیش از حفظکردن دستورها، به درک مفاهیم و توانایی حل مسئله نیاز دارد.
با تمرین مستمر، بسیاری از دستورهای پرکاربرد بهتدریج در حافظه شما تثبیت میشوند.
همچنین مراجعه به مستندات رسمی یکی از فعالیتهای عادی برنامهنویسان حرفهای است.
۱۳-۶. تفاوت سلول کد در Colab با فایل پایتون چیست؟
سلول کد بخشی از یک Notebook است و میتوان آن را مستقل از سلولهای دیگر اجرا کرد.
فایل پایتون معمولاً دارای پسوند .py است و مجموعهای از دستورها را در یک فایل متنی نگهداری میکند.
هر دو میتوانند حاوی کد پایتون باشند، اما محیط اجرا و شیوه سازماندهی آنها متفاوت است.
۱۳-۷. اگر خطای SyntaxError دریافت کنیم چه باید کرد؟
ابتدا به خطی که در پیام خطا مشخص شده است توجه کنید.
سپس علامتهای نقلقول، پرانتزها، دونقطهها و ساختار دستور را بررسی کنید.
مقایسه کد با یک مثال صحیح و سادهسازی برنامه، اغلب به یافتن مشکل کمک میکند.
۱۴. جمعبندی نهایی درس
در این درس نخستین تجربه برنامهنویسی با زبان پایتون را پشت سر گذاشتیم.
یاد گرفتیم که برنامه مجموعهای از دستورهاست و اجرای برنامه به معنی پردازش این دستورها توسط محیط اجرای پایتون است.
با استفاده از Google Colab، بدون نصب نرمافزار روی رایانه، کد نوشتیم و نتیجه آن را مشاهده کردیم.
سپس دستور print() را شناختیم و از آن برای نمایش متن، اعداد و نتیجه محاسبات استفاده کردیم.
با ساخت برنامههای چندخطی آشنا شدیم، تفاوت کد و خروجی را بررسی کردیم و نقش متغیرها را بهصورت مقدماتی دیدیم.
همچنین برخی از خطاهای رایج مانند فراموشکردن علامت نقلقول، اشتباه در پرانتزها و ناهماهنگی نام متغیرها را بررسی کردیم.
در پایان، با ساخت یک کارت معرفی دانشجو و حل تمرینهای متعدد، آموختههای خود را به کار گرفتیم.
آنچه باید پیش از ورود به درس بعد بلد باشید:
- اجرای سلول کد در محیط پایتون
- استفاده از دستور print()
- نمایش متن و عدد
- انجام محاسبات ساده
- تشخیص تفاوت کد و خروجی
- شناسایی و اصلاح خطاهای ساده
- تغییر مقادیر یک برنامه آماده و اجرای مجدد آن
اگر این مهارتها را کسب کردهاید، برای درس بعد آماده هستید.
درس بعدی: متغیرها در پایتون
در درس دوم، مفهوم متغیر را با دقت بیشتری بررسی میکنیم؛ یاد میگیریم چگونه دادهها را ذخیره کنیم، مقادیر را تغییر دهیم، نامهای مناسبی انتخاب کنیم و برنامههایی بنویسیم که با اطلاعات مختلف کار کنند.
۱۵. منابع و مراجع آموزشی
Python Software Foundation — Python Tutorial
https://docs.python.org/3/tutorial/
Python Software Foundation — Built-in Functions
https://docs.python.org/3/library/functions.html
Python Software Foundation — Using the Python Interpreter
https://docs.python.org/3/tutorial/interpreter.html
Google Colaboratory — محیط اجرای آنلاین پایتون
https://colab.research.google.com/
Eric Matthes — Python Crash Course, Third Edition, No Starch Press.
Al Sweigart — Automate the Boring Stuff with Python, Third Edition.


