زبان برنامه نویسی پایتون یکی از جذاب‌ترین زبان‌های برنامه نویسی است. به خصوص برای افراد تازه‌کار، زیرا سینتکس ساده‌ای داشته و به راحتی می‌توان آن را یاد گرفت. در ضمن این زبان کاربرد‌های بسیار گسترده و تخصصی هم دارد. برای مثال می‌توان به هوش مصنوعی، توسعه اپلیکیشن‌های تحت وب و غیره اشاره کرد. کاربرد پایتون در صنعت بسیار گسترده است. بهترین روش برای یادگیری پایتون، انجام تمرینات و بررسی مسائل حل شده است. در این مطلب، ۲۱ نمونه سوال پایتون با جواب رایگان را نوشته‌ایم. در این سوالات بخش‌های مختلفی را پوشش داده‌ایم و بهتر است قبل از بررسی راه حل‌ها خودتان اقدام به حل سوال بکنید.

آنچه در این مطلب می‌آموزید:

  • با مشاهده چند نمونه سوال درباره عملیات ریاضی، روش محاسبه رادیکال در پایتون را یاد می‌گیرید.

  • با ماژول‌های timeit و time آشنا شده و روش کار با آن‌ها را می‌آموزید.

  • با بررسی مثال ساده‌ای یاد می‌گیرید که چگونه در پایتون زمان‌سنج معکوس ایجاد کنید.

  • با توابع type و isinstance آشنا شده و تفاوت بین آن‌ها را متوجه می‌شوید.

  • با بررسی چند مثال ساده روش کار با شرط‌ و حلقه‌ها را در پایتون یاد می‌گیرید.

  • با بررسی دو مثال ساده درباره دیکشنری و رشته روش کار با آن‌ها را می‌آموزید.

۲۱ نمونه سوال پایتون با جواب رایگان و کد۲۱ نمونه سوال پایتون با جواب رایگان و کد
فهرست مطالب این نوشته
997696

در این مطلب از مجله فرادرس چند نمونه سوال پایتون با جواب رایگان را بررسی می‌کنیم. ساختار این سوالات طوری است که از مطالب ساده تا پیچیده را پوشش می‌دهد. ابتدا با بررسی چند تمرین ساده برای افراد مبتدی شروع کرده و کم‌کم سوالات پیچیده‌تری را حل می‌کنیم.

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

در بخش اول از مطلب، چند سوال ساده را با هدف آشنایی بیشتر با سینتکس رایج پایتون حل می‌کنیم.

مثال ۱: جمع دو عدد

در نمونه سوال اول، باید برنامه‌ای بنویسیم که دو عدد مختلف را با هم جمع کرده و نتیجه را در خروجی چاپ کند.

بعد از اجرای کد بالا، خروجی به صورت زیر در کنسول پایتون نمایش داده می‌شود.

The sum of 1.5 and 6.3 is 7.8

در فهرست پایین، تمام مراحل کد بالا را توضیح داده‌ایم.

  1. در خطوط ۱ و ۲، مقادیر 1.5  و 6.3  را در متغیر‌های num1  و num2  جایگذاری می‌کنیم.
  2. در خط ۴ حاصل جمع دو عدد num1  و num2  محاسبه شده و در متغیر sum  ذخیره می‌شود.
  3. در خط ۵ نتیجه و دو عدد ورودی را همراه با پیغام مناسبی در خروجی چاپ می‌کنیم.

مثال ۲: دریافت دو عدد از کاربر و محاسبه نتیجه جمع

اکنون باید برنامه‌ای بنویسیم که ابتدا دو عدد از کاربر دریافت کند. سپس آن‌ها را با همدیگر جمع کرده و نتیجه را در خروجی، نمایش دهد.

با فرض اینکه در ورودی به ترتیب اعداد 1.5  و 6.3  را وارد کرده باشیم، خروجی به صورت زیر در کنسول پایتون نمایش داده می‌شود.

Enter first number: 1.5
Enter second number: 6.3
The sum of 1.5 and 6.3 is 7.8

مراحل کد بالا را در فهرست پایین، توضیح داده‌ایم.

  1. این برنامه در خطوط ۱ و ۲، دو عدد را از کاربر می‌گیرد و در متغیرهای num1  و num2  ذخیره می‌کند.
  2. سپس با کمک تابع float() مقدارهای num1 و num2  را به عدد اعشاری – نوع داده float در پایتون – تبدیل کرده و حاصل جمع آن‌ها را در متغیر sum  قرار می‌دهد.
  3. در خط آخر هم نتیجه جمع و دو عدد ورودی را همراه با پیغام مناسب چاپ می‌کند.

مثال ۳: محاسبه رادیکال

برنامه‌ای بنویسید که رادیکال ریشه دوم اعداد را محاسبه کند.

بعد از اجرای کد بالا، خروجی به صورت زیر در کنسول پایتون نمایش داده می‌شود.

The square root of 8.000 is 2.828

در فهرست پایین، تمام مراحل مهم کد بالا را توضیح داده‌ایم.

  1. ابتدا مقدار 8  در متغیر num  ذخیره می‌شود.
  2. در خط ۴، ریشه دوم عدد num  محاسبه شده و در متغیر num_sqrt  ذخیره می‌شود.
  3. در خط آخر، عدد اصلی و ریشه دوم آن با سه رقم اعشار چاپ می‌شوند.
محاسبات رادیکال با کمک زبان برنامه نویسی پایتون

مثال ۴: محاسبه رادیکال عدد مختلط در پایتون

اعداد مختلط، عددهایی هستند که از دو بخش موهومی و حقیقی تشکیل شده‌اند. در این سوال باید برنامه‌ای بنویسیم که مقدار رادیکال عدد مختلط را حساب کرده و جواب را برگرداند. بهترین روش برای محاسبه این مسئله ریاضی، استفاده از کتابخانه cmath  است.

بعد از اجرای کد بالا، خروجی به صورت زیر در کنسول پایتون نمایش داده می‌شود.

The square root of (1+2j) is 1.272+0.786j

در فهرست پایین، تمام مراحل کد بالا را توضیح داده‌ایم.

  1. در خط ۱: کتابخانه cmath  برای کار با اعداد مختلط ایمپورت می‌شود.
  2. در خط ۳: عدد مختلط 1+2j  در متغیر num  ذخیره می‌شود.
  3. در خط ۴: ریشه دوم عدد مختلط num  با تابع sqrt  از کتابخانه cmath  محاسبه و در متغیر num_sqrt  ذخیره می‌شود.
  4. در خط ۵: عدد اصلی و ریشه دوم آن به صورت قسمت حقیقی و موهومی با سه رقم اعشار چاپ می‌شوند.

مثال ۵: محاسبه مساحت مثلث

در این نمونه سوال پایتون با جواب رایگان باید برنامه‌ای برای محاسبه مساحت مثلث بنویسیم. البته با فرض اینکه اندازه سه ضلع داده شده است. در کادر پایین، کدهای مربوط به گرفتن اندازه اضلاع از کاربر هم نوشته شده است. این کدها به صورت کامنت ذخیره شده‌اند.

بعد از اجرای کد بالا و با در نظر گرفتن اندازه اضلاع در متن سوال، خروجی به صورت زیر در کنسول پایتون نمایش داده می‌شود.

The area of the triangle is 14.70

توجه کنید که در این مسئله برای محاسبه مساحت مثلث از فرمول هرون استفاده کرده‌ایم.

  1. در خطوط ۱ تا ۳: سه ضلع مثلث با مقدارهای 5، 6  و 7  در متغیرهای a، b  و c  ذخیره شده‌اند.
  2. در خطوط ۵ تا ۸: کدهای مربوط به گرفتن اندازه اضلاع از کاربر به صورت کامنت نوشته شده‌اند.
  3. در خط ۱۰: نصفه محیط مثلث با فرمول (a + b + c) / 2  محاسبه شده و در متغیر s  ذخیره می‌شود.
  4. در خط ۱۲: مساحت مثلث با استفاده از فرمول هرون محاسبه می‌شود. سپس جوابت در متغیر area  قرار می‌گیرد.
  5. در خط آخر: اندازه مساحت با دو رقم اعشار چاپ می‌شود.

پایتون را در فرادرس یاد بگیرید

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

مجموعه فیلم‌های آموزش برنامه نویسی پایتون Python – مقدماتی تا پیشرفته فرادرس
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش برنامه نویسی پایتون Python از مقدماتی تا پیشرفته هدایت شوید.

گروه آموزشی فرادرس سال‌های زیادی است که به تولید فیلم‌های آموزشی در حوزه‌های مختلف می‌پردازد. برای شروع به آموزش پایتون، بهتر است فیلم آموزش رایگان پایتون، برنامه نویسی سریع و آسان در ۱۴۰ دقیقه را در فرادرس مشاهده کنید. بعد از آن می‌توانید از فیلم‌های مربوط به حوزه‌های پیشرفته‌تر استفاده کنید.

در پایین، چند مورد از فیلم‌های آموزشی سطح مبتدی تا پیشرفته را معرفی کرده‌ایم.

نمونه سوال پایتون درباره کار با زمان

در این بخش از مطلب، دو نمونه سوال را درباره محاسبه زمان در پایتون بررسی می‌کنیم. این سوالات نسبت به سوالات بخش قبلی کمی تخصصی‌تر هستند.

مثال ۶: محاسبه زمان سپری شده

در این نمونه سوال پایتون با جواب رایگان باید برنامه‌ای برای محاسبه زمان سپری شده بنویسیم. این زمان می‌تواند مربوط به دوره خاص یا حتی زمان اجرای فقط یک تابع باشد.

استفاده از ماژول time

در کادر پایین دستور ساده‌ای را نوشته‌ایم. برنامه زمان اجرای آن را محاسبه می‌کند.

بعد از اجرای کد بالا، خروجی به صورت زیر در کنسول پایتون نمایش داده می‌شود.

52.9
3.600120544433594e-05

یکی از بهترین روش‌ها برای محاسبه زمان سپری شده در اجرای کدها استفاده از ماژول time است. در کد بالا هم ابتدا این ماژول را به محیط کدنویسی خود ایمپورت کرده‌ایم.

  1. در خط اول ماژول time  را به محیط کدنویسی وارد کرده‌ایم.
  2. سپس زمان قبل از اجرای عملیات را با کمک دستور time.time()  ثبت کرده و در متغیری به نام start  ذخیره کردیم.
  3. دستور خط ۳، ابتدا نتیجه عبارت ریاضی 23*2.3  را محاسبه می‌کند. سپس این نتیجه را با کمک تابع print()  در خروجی چاپ می‌کند.
  4. بلافاصله با کمک کد time.time()  زمان – پایان اجرای عملیات – را ثبت کرده و در متغیر end  ذخیره می‌کنیم.
  5. در خط آخر زمان شروع را از زمان پایان کم کرده و نتیجه را به عنوان زمان اجرای عملیات در خروجی چاپ می‌کنیم.

نکته ۱: توجه کنید که زمان اجرای عملیات بر روی کامپیوتر‌های مختلف فرق می‌کند. ممکن است که در کامپیوترتان با عدد دیگری برای این عملیات روبه‌رو شوید.

نکته ۲: تابع time.time()  زمان حال را بر اساس ثانیه محاسبه کرده و برمی‌گرداند.

استفاده از ماژول timeit

برای حل این مسئله می‌توانیم از ماژول timeit  هم استفاده کنیم.

بعد از اجرای کد بالا، خروجی زیر در کنسول پایتون نمایش داده می‌شود.

52.9
6.355400000000039e-05

تمام مراحل مهم کد بالا را در فهرست پایین، توضیح داده‌ایم.

  1. در خط اول، نام مستعار timer  را به تابع default_timer  اختصاص داده و آن را از ماژول timeit  به محیط کدنویسی پایتون وارد می‌کنیم.
  2. سپس زمان قبل از اجرای عملیات را در متغیری به نام start  ذخیره می‌کنیم.
  3. در خط بعد، نتیجه عبارت ریاضی 23*2.3  را محاسبه کرده و با کمک تابع print()  در خروجی چاپ می‌کنیم.
  4. در خط پنجم، بلافاصله بعد از به پایان رسیدن عملیات، زمان را در متغیر end  ذخیره می‌کنیم.
  5. در نهایت هم حاصل تفریق زمان شروع از زمان پایان را در خروجی چاپ می‌کنیم.
ساعت شنی در کنار کلمه تایم و لوگوی پایتون

توجه: ماژول timeit  نتایج بسیار دقیق‌تری نسبت به ماژول time  ایجاد می‌کند. در ضمن این ماژول هم زمان فعلی را به صورت ثانیه محاسبه کرده و برمی‌گرداند.

مثال ۷: ساخت زمان سنج معکوس

در این سوال خواسته شده است برنامه‌ای با زبان پایتون برای ساخت زمان‌سنج معکوس بنویسیم. یعنی اینکه زمان به صورت ثانیه نشان داده شده و در هر ثانیه یک واحد از آن کم شود.

بعد از اجرای کد بالا، خروجی به صورت 00:05 نمایش داده می‌شود. سپس یک به یک ثانیه‌ها کم شده تا به عدد به 00:01 برسد. در صورتی که از مقدار بیشتری به عنوان پارامتر تابع countdown() استفاده کنید، زمان‌سنج باز هم به درستی کار خواهد کرد.

  1. خط ۱: کتابخانه time  برای کار با زمان ایمپورت می‌شود.
  2. خط ۳: تابع countdown  تعریف می‌شود. این تابع پارامتری به نام time_sec  را به عنوان ورودی دریافت می‌کند.
  3. خط ۴: حلقه while تا زمانی اجرا می‌شود که مقدار time_sec  برابر با True  باشد. در زبان پایتون هر عدد صحیح مثبت برابر با True  و صفر برابر با False  است. در نتیجه این حلقه تا زمانی اجرا می‌شود که time_sec  برابر صفر شود.
  4. خط ۵: دقیقه و ثانیه با استفاده از تابع divmod  از روی پارامتر time_sec  محاسبه می‌شوند.
  5. خط ۶: زمان به صورت «ثانیه:دقیقه» قالب‌بندی می‌شود.
  6. خط ۷: زمان چاپ می‌شود. در تابع print() از پارامتر end=’r’  استفاده کرده‌ایم. تابع print() این کد می‌تواند داده‌های خود را دائما بر روی یک خط چاپ کند و به خط بعدی نرود.
  7. خط ۸: برنامه 1 ثانیه مکث می‌کند.
  8. خط ۹: مقدار time_sec  یک واحد کم می‌شود.
  9. خط ۱۱: پس از به پایان رسیدن حلقه while ، پیغام “stop”  چاپ می‌شود.

نمونه سوال پایتون درباره شیء گرایی

در این بخش از مطلب، ۲ نمونه سوال در حوزه شیء گرایی در پایتون را حل می‌کنیم. البته برای مسلط شدن به مبحث شیءگرایی فقط حل چند نمونه سوال پایتون با جواب رایگان کافی نیست. در صورت نیاز به مطالعه بیشتر پیشنهاد می‌کنیم که فیلم آموزش برنامه نویسی شی گرا در پایتون را در فرادرس مشاهده کنید. لینک مربوط به این فیلم را در پایین نیز قرار داده‌ایم.

مثال ۸: بدست آوردن نام کلاس

در این بخش از مطلب، باید برنامه‌ای با زبان پایتون بنویسیم که با دسترسی به نمونه ساخت شده، نام کلاس آن را نشان دهد. برای حل این مسئله از دو روش مختلف استفاده می‌کنیم.

استفاده از __name__

متغیر ویژه __name__  برای بدست آوردن نام کلاس به کار می‌رود. روش استفاده از آن به این صورت است که ابتدا باید نام شیء مورد نظر نوشته شود. سپس کاراکتر نقطه و بعد از آن کلمه کلیدی __class__  نوشته می‌شود. در انتها هم __name__  را می‌نویسیم.

بعد از اجرای کد بالا، در خروجی عبارت Vehicle نمایش داده می‌شود.

  • عبارت __class__  مشخصه کلاسی است که شیء مورد نظر به آن تعلق دارد. یعنی نشان می‌دهد که هر شیء‌ از روی کدام کلاس ساخته شده است.
  • __name__  یکی از متغیر‌های ویژه پایتون است. عملکرد این متغیر بسته به جایی است که از آن استفاده می‌کنیم.
صفت __name__ در کنار لوگوی پایتون

در فهرست پایین، تمام مراحل مهم کد بالا را توضیح داده‌ایم.

  1. ابتدا کلاس Vehicle  را همراه با متد name  تعریف کرده‌ایم.
  2. سپس از روی این کلاس، شیء v  را ساختیم.
  3. در نهایت با کمک کد v.__class__.__name__ به نام کلاس شیء v  دسترسی پیدا کرده و با استفاده از تابع print()  آن را چاپ می‌کنیم.

استفاده از تابع type و __name__

با استفاده از تابع type و صفت __name__  هم می‌توانیم نام کلاس مربوط به اشیاء مختلف را پیدا کنیم. وظیفه تابع type()  این است که کلاس مربوط به شیء‌ v  را مشخص کند. صفت __name__  هم نام آن کلاس را نشان می‌دهد.

بعد از اجرای کد بالا، در خروجی عبارت Vehicle نمایش داده می‌شود.

  1. ابتدا کلاس Vehicle  را همراه با متد name  تعریف کرده‌ایم.
  2. سپس، شیء v  را از روی این کلاس، می‌سازیم.
  3. در نهایت با کمک کد vtype(v).__name__ نام کلاس شیء v  را پیدا کرده و با استفاده از تابع print()  آن را چاپ می‌کنیم.

مثال ۹: تشخیص تفاوت بین type و isinstance

در این نمونه سوال پایتون با جواب رایگان، می‌خواهیم برنامه‌ای بنویسیم که دو تابع type و isinstance را مقایسه کرده و تفاوت آن‌ها را نشان بدهد.

بعد از اجرای کد بالا، خروجی به صورت زیر در کنسول پایتون نمایش داده می‌شود.

در مثال بالا، تابع type()  نمی‌تواند اتصال اشیاء به کلاس پایه آن‌ها را مشخص کند. برای مثال، obj_triangle  شیئی از کلاس فرزند Triangle  است. اما کلاس پایه آن Polygon  نام دارد. اگر بخواهیم بررسی کنیم که آیا شیء ساخته شده از کلاس فرزند متعلق به کلاس والد است یا نه باید از تابع isinstance()  کمک بگیریم. برای درک بهتر این موضوع باید مفهوم وراثت در پایتون را بلد باشید. در صورت نیاز پیشنهاد می‌کنیم که مطلب مربوط به آن را در مجله فرادرس مطالعه کنید.

در فهرست پایین، تمام مراحل مهم کد بالا را توضیح داده‌ایم.

  1. ابتدا کلاس Polygon  را همراه با متد sides_no  تعریف کردیم.
  2. بعد از آن کلاس Triangle  را به همراه متد area  تعریف می‌کنیم. این کلاس فرزند کلاس Polygon  است.
  3. در خطوط ۹ و ۱۰ دو شیء به نام‌های obj_triangle   و obj_polygon  از روی این کلاس‌ها ساخته‌ایم.
  4. در خطوط بعد با کمک توابع type()  و isinstance()  نسبت این اشیا را با کلاس‌های والدشان بررسی کرده‌ایم.

عبارت‌ های شرطی و حلقه ها در پایتون

در این بخش از مطلب، چند نمونه سوال پایتون با جواب رایگان را درباره عبارت‌های شرطی و حلقه‌ها بررسی کرده‌ایم.

برای حل بعضی از سوالات هم از هر دو مفهوم در کنار هم استفاده می‌کنیم.

مثال ۱۰: تشخیص زوج یا فرد بودن عدد

می‌دانیم هر عددی که بر دو بخش‌پذیر باشد، زوج است و اعداد غیر از آن فرد هستند. برای تشخیص اینکه آیا اعداد بر ۲ بخش‌پذیر هستند یا نه در پایتون از عملگر درصد یا % استفاده می‌کنیم.

نمونه سوال پایتون با جواب رایگان برای تشخیص اعداد زوج و فرد

با کمک این عملگر می‌توان باقیمانده تقسیم را بدست آورد. اگر باقیمانده تقسیم بر ۲ برابر صفر باشد، پس آن عدد زوج و در غیر این صورت فرد است.

دفعه اول به عنوان ورودی، عدد 43  را به برنامه ارسال می‌کنیم. خروجی به صورت زیر در کنسول پایتون نمایش داده می‌شود.

Enter a number: 43
43 is Odd

دفعه بعد، عدد 18  را به عنوان ورودی به برنامه ارسال می‌کنیم. این بار، خروجی به صورت زیر، نمایش داده می‌شود.

Enter a number: 18
18 is Even

در فهرست پایین، تمام مراحل کد بالا را توضیح داده‌ایم.

  1. ابتدا از کاربر می‌خواهیم که عددی را وارد کند. برای این کار از تابع input استفاده کرده‌ایم. این تابع هم پیغام مشخص شده را به کاربر می‌دهد. هم داده وارد شده توسط کاربر را دریافت کرده و به شکل رشته برمی‌گرداند.
  2. سپس با کمک عبارت شرطی if (num % 2) == 0 بخش‌پذیری عدد داده شده را بر 2  بررسی می‌کنیم.
  3. در پایان هم با توجه به نتیجه شرط، پیغام مناسبی در خروجی چاپ می‌شود.
فلوچارت تشخیص زوج یا فرد بودن عدد در پایتون
نمونه سوال پایتون با جواب رایگان برای تشخیص اعداد زوج و فرد

مثال ۱۱: تشخیص سال کبیسه میلادی

برای تشخیص سال‌های کبیسه میلادی باید آن‌ها را تقسیم بر چهار بکنیم. تمام سال‌های بخش‌پذیر بر 4  کبیسه هستند به غیر از صده‌ها. آن‌ها باید بر 400  بخش‌پذیر باشند. برای مثال، سال ۲۰۱۷ کبیسه نیست. سال ۱۹۰۰ هم کبیسه نیست. اما سال‌های ۲۰۱۲ و ۲۰۰۰ کبیسه هستند.

با توجه به اینکه سال 2000  به این برنامه داده شده است، خروجی زیر در کنسول پایتون نمایش داده می‌شود.

در خط ۴ از کدهای بالا دستور مربوط به گرفتن سال از کاربر را نوشته‌ایم، می‌توانید از آن استفاده کنید. فقط باید از حالت کامنت خارج شوند. مراحل مهم کد بالا را در فهرست پایین، توضیح داده‌ایم.

  1. خط ۱: مقدار 2000  در متغیر year  ذخیره می‌شود.
  2. خط ۸: با کمک کلمه کلیدی if در پایتون بررسی می‌کنیم که آیا year  بر 400  و بر 100  بخش‌پذیر است یا نه. یعنی هم زمان دو شرط مختلف را بررسی می‌کنیم.
  3. اگر شرط درست باشد: پیغام مناسب برای سال کبیسه چاپ می‌شود.
  4. خط ۱۳: با کمک کلمه کلیدی elif در پایتون بررسی می‌کنیم که آیا year  بر 4  بخش‌پذیر است و آیا بر 100  بخش‌پذیر نیست.
  5. اگر شرط درست باشد: پیغام مناسب سال کبیسه چاپ می‌شود.
  6. خطوط ۱۶ و ۱۷: اگر هیچ‌کدام از شرط‌ها برقرار نباشد، پیغام سال غیرکبیسه چاپ می‌شود.
لوگوی پایتون در کنار یک کامپیوتر و تقویم

مثال ۱۲: چاپ تمام اعداد اول درون محدوده مشخص شده

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

اکنون باید برنامه‌ای با زبان پایتون بنویسیم که داخل محدوده مشخص شده را جست‌وجو کند. سپس تمام اعداد اول موجود در آن را شناسایی کرده و در خروجی چاپ بکند.

بعد از اجرای کد بالا، خروجی به صورت زیر در کنسول پایتون نمایش داده می‌شود.

Prime numbers between 900 and 1000 are:
907
911
919
929
937
941
947
953
967
971
977
983
991
997

در فهرست پایین، تمام مراحل مهم کد بالا را توضیح داده‌ایم.

  1. خطوط ۱و۲: مقدارهای 900  و 1000  در متغیرهای lower  و upper  ذخیره می‌شوند.
  2. خط ۴: پیغامی چاپ می‌شود که عددهای اول بین این دو عدد را نشان می‌دهد.
  3. خط ۶: با حلقه for تمام اعداد را از lower  تا upper  بررسی می‌کنیم.
  4. خط ۸: با کمک عبارت شرطی if  بررسی می‌کنیم که عدد بزرگ‌تر از 1 باشد.
  5. خطوط ۹ تا ۱۳: حلقه دیگری از 2 تا num  اجرا می‌شود. این حلقه برای بررسی بخش‌پذیری اعداد به کار برده می‌شود.
    • اگر num  بر i  بخش‌پذیر باشد، از حلقه خارج می‌شود، چون عدد اول نیست.
    • اگر در حلقه هیچ break  اجرا نشود، عدد اول است و چاپ می‌شود.

مثال ۱۳: نمایش جدول ضرب

در این مسئله از ما خواسته شده است که جدول ضرب مربوط به عدد 12 را چاپ کنیم.

برای حل این سوال از حلقه for  و تابع range در پایتون استفاده کرده‌ایم.

بعد از اجرای کد بالا، خروجی به صورت زیر در کنسول پایتون نمایش داده می‌شود.

12 x 1 = 12
12 x 2 = 24
12 x 3 = 36
12 x 4 = 48
12 x 5 = 60
12 x 6 = 72
12 x 7 = 84
12 x 8 = 96
12 x 9 = 108
12 x 10 = 120

همین‌طور که مشاهده می‌کنید برای حل این مسئله از ترکیب حلقه for  و تابع range()  برای پیمایش 1 تا 10 استفاده کرده‌ایم. آرگومان‌های (1, 11)  را به تابع range()  ارسال کردیم. این آرگومان‌ها به معنای آن هستند که محدوده پیمایش باید بزرگتر مساوی 1 و کوچکتر از 11  باشد.

فلوچارت روش محاسبه و نمایش جدول ضرب در پایتون
نمونه سوال پایتون با جواب رایگان برای نمایش ضرب ۱ تا ۱۰ برای هر عدد

مثال ۱۴: چاپ سری فیبوناچی

سری فیبوناچی به دنباله‌ای از اعداد صحیح گفته می‌شود که با مقادر ۰ و ۱ شروع می‌شوند. بعد از آن هر عنصر برابر است با مجموع دو عنصر قبل از خودش. این یعنی آن‌که برای محاسبه عنصر «n»-ام در سری فیبوناچی باید مقادی «(n-1)»-ام و «(n-2)»-ام را با یکدیگر جمع‌کنیم.

چندین عدد مختلف بر روی دیوار چسبیده‌اند و در حال پردازش شدن هستند.

در کادر زیر، عناصر اولیه سری فیبوناچی را نوشته‌ایم.

در قسمت پایین، راه حل این سوال را با زبان پایتون پیاده‌سازی کرده‌ایم.

بعد از اجرای کد بالا، خروجی به صورت زیر در کنسول پایتون نمایش داده می‌شود.

How many terms? 7
Fibonacci sequence:
0
1
1
2
3
5
8

در کدهای بال تعداد عناصر را در متغیری به نام nterms  ذخیره کرده‌ایم. سپس عنصر اول را برابر با 0  و عنصر دوم را برابر با 1  قرار می‌دهیم. برای محاسبه سری کامل از حلقه while استفاده کرده‌ایم.

در فهرست پایین، تمام مراحل مهم کد بالا توضیح داده‌ شده‌اند.

  1. خط ۱: تعداد عناصر سری فیبوناچی مورد نظر توسط کاربر را گرفته و در متغیر nterms  ذخیره می‌کنیم.
  2. خط ۲: سپس، دو جمله اول سری فیبوناچی یعنی 0  و 1 را در متغیرهای n1  و n2  ذخیره می‌کنیم.
  3. خط ۳: بعد از آن متغیری به نام count  تعریف کرده و مقدار 0  را به آن اختصاص می‌دهیم. از این متغیر برای شمارش عناصر این دنباله استفاده خواهیم کرد.
  4. خط ۶: با کمک عبارت شرطی if  ابتدا بررسی می‌کنیم که آیا مقدار وارد شده مثبت است یا نه.
    • اگر شرط برقرار شد، یعنی مقدار nterms  کوچکتر یا مساوی صفر بود، باید پیغام خطا چاپ کنیم.
  5. خط ۹: سپس با کمک دستور elif  شرط دیگری را بررسی می‌کنیم. اگر فقط یک جمله خواسته شده باشد – یعنی کاربر عدد 1 را برای متغیر nterms  وارد کرده باشد – وارد این بخش می‌شود.
    • اگر این شرط برقرار بود باید جمله اول فیبوناچی – 0  - چاپ شود.
    • در غیر این صورت دستورات درون عبارت else  اجرا می‌شوند. یعنی اگر بیشتر از یک جمله خواسته شده بود باید سری فیبوناچی را به طور کامل چاپ کنیم.
  6. خط ۱۵ تا ۲۱: برای محاسبه تمام عناصر این سری و چاپ آن‌ها از حلقه while استفاده می‌کنیم.
    1. در خط اول این حلقه، ابتدا جمله فعلی – n1  - چاپ می‌شود.
    2. در خط ۱۷، جمله بعدی با جمع n1  و n2  محاسبه و در nth  ذخیره می‌شود.
    3. در خطوط ۱۹ و ۲۰ هم مقدارهای n1  و n2  به‌روزرسانی می‌شوند تا جمله‌های بعدی محاسبه شوند.
    4. در خط ۲۱، شمارنده count  یکی زیاد می‌شود.

مثال ۱۵: محاسبه اعداد آرمسترانگ در محدوده مشخص

هر عدد صحیح و مثبت «n» رقمی آرمسترانگ است اگر مجموع توان n-ام ارقام آن برابر با خود عدد شوند.

abcd... = an + bn + cn + dn + ...

برای مثال، عدد ۱۵۳ آرمسترانگ است.

153 = 1*1*1 + 5*5*5 + 3*3*3 

در این قسمت از نمونه سوال پایتون با جواب رایگان، باید برنامه‌ای بنویسیم که تمام اعداد آرمسترانگ موجود در محدوده مشخص شده را شناسایی کرده و در خروجی چاپ کند.

بعد از اجرای کد بالا، خروجی به صورت زیر در کنسول پایتون نمایش داده می‌شود.

در این برنامه، حد پایین محدوده را بر روی متغیر lower  و با مقدار 100  مشخص کرده‌ایم. حد بالا این محدوده‌ را هم در متغیر upper  و با مقدار 2000  مشخص کردیم. برای پیمایش در این محدوده از تابع range()  استفاده می‌کنیم.

دخترک زیبا رویی که در فضای صورتی رنگ بر روی لپتاپ خودش برنامه نویسی می‌کند. - زبان پایتون

در فهرست پایین، تمام مراحل مهم کد بالا را توضیح داده‌ایم.

  1. در خطوط ۱ و ۲، مقدارهای 100  و 2000  در متغیرهای lower  و upper  ذخیره می‌شوند.
  2. سپس با کمک حلقه for  تمام اعداد درون محدوده lower  تا upper  را بررسی می‌کنیم.
  3. در خط ۵، تعداد رقم‌های num  محاسبه و در متغیر order  ذخیره می‌شود. برای این کار ابتدا عدد را به رشته تبدیل کرده و سپس با کمک تابع len تعداد کاراکتر‌های آن را می‌شماریم.
  4. بعد از آن متغیر sum  را با مقدار 0 مقداردهی اولیه می‌‌کنیم.
  5. در خط ۷، مقدار num در متغیر temp  نگهداری می‌شود. با این کار هم مقدار num تا پایان حلقه ثابت می‌ماند و هم می‌توانیم مقدار temp را در حلقه تغییر بدهیم.
  6. در خط بعد، حلقه while تا وقتی temp  بزرگ‌تر از صفر باشد، کار می‌کند.
  7. در خط ۹، رقم آخر temp  در متغیر digit  ذخیره می‌شود.
  8. سپس نتیجه عملیات (digit ** order)  به sum  اضافه می‌شود.
  9. بعد از آن رقم آخرtemp  حذف می‌شود. برای این کار از تقسیم صحیح استفاده کرده‌ایم.
  10. در خط ۱۳ و ۱۴، اگر جمع توان رقم‌ها یا متغیر sum برابر باعدد اصلی باشد، در نتیجه num  آرمسترانگ است.

مثال ۱۶: چاپ مثلث قائم الزاویه در پایتون

در این مسئله می‌خواهیم شکل مثلث قائم‌الزاویه را با کمک کاراکتر‌های *  در کنسول پایتون چاپ کنیم. برنامه باید اندازه اضلاع یا تعداد ردیف‌های چاپ ستاره را از کاربر دریافت کند.

بعد از اجرای کد بالا و با فرض دادن عدد ۵ به برنامه، خروجی به صورت زیر در کنسول پایتون نمایش داده می‌شود.

*
* *
* * *
* * * *
* * * * *

برای حل این نوع از مسائل بهتر است که از دو یا چند حلقه به صورت تو در تو استفاده کنیم.

  1. ابتدا ارتفاع مثلث را با کمک نمایش پیغام مناسبی از کاربر گرفته و در متغیری به نام rows  ذخیره می‌کنیم.
  2. در حلقه اول از i = 0  تا i = rows-1 پیمایش می‌کنیم.
  3. در حلقه دوم یا حلقه داخلی هم از j = 0  تا i را پیمایش می‌کنیم.
  4. در هربار پیمایش حلقه دوم به تعداد i + 1  ستاره پشت سر هم چاپ می‌کنیم.
  5. مقدار موجود در متغیر rows  بیشترین تعداد * را مشخص می‌کند. در هر ردیف هم به تعداد i+1  ستاره چاپ می‌شود.
نمونه سوال پایتون با جواب رایگان بر روی مانیتور

مثال ۱۷: چاپ هرم کامل با کمک اعداد

در این مثال می‌خواهیم برنامه‌ای برای چاپ هرم کامل بنویسیم. اضلاع این هرم باید به صورت منظم اعداد را نشان بدهد. در هر ردیف بیشترین رقم در وسط قرار می‌گیرد. در تصویر زیر نمونه‌ای از این هرم با ۵ ردیف نشان داده شده است.

        1 
      2 3 2 
    3 4 5 4 3 
  4 5 6 7 6 5 4 
5 6 7 8 9 8 7 6 5

روش حل این مسئله را در کادر پایین، پیاده‌سازی کرده‌ایم.

در فهرست پایین، تمام مراحل مهم کد بالا را توضیح داده‌ایم.

  1. خط ۱: تعداد سطرها از کاربر گرفته شده و در متغیر rows  ذخیره می‌شود.
  2. خطوط ۳ تا ۵: سه متغیر k ، count  و count1  با مقدار صفر مقداردهی اولیه می‌شوند.
  3. خط ۷: حلقه for  از 1 تا rows  اجرا می‌شود. شمارنده حلقه بیرونی، سطری را نشان می‌دهد که باید چاپ شود.
  4. خط ۸: این حلقه for  مسئول چاپ فاصله‌های خالی قبل از عددها است.
  5. خط ۹: دو فاصله خالی چاپ می‌شود.
  6. خط ۱۰: مقدار count  یکی زیاد می‌شود.
  7. خط ۱۲: حلقه while تا زمانی که k برابر (2*i)-1  نشده ادامه دارد.
  8. خط ۱۳: بررسی می‌کند که آیا count کوچکتر یا مساوی rows-1  است یا نه.
    • خط ۱۴: اگر شرط درست باشد، عدد i+k  چاپ شده و count  یکی زیاد می‌شود.
  9. خط ۱۶ و ۱۷ و ۱۸: اگر شرط درست نباشد، count1  یک واحد زیاد شده و عدد i+k-(2*count1)  چاپ می‌شود.
  10. خط ۱۹: مقدار k یکی زیاد می‌شود تا حلقه جلو برود.
  11. خط ۲۱: پس از پایان هر سطر، مقدارهای count  ، count1  و k دوباره صفر می‌شوند.
  12. خط ۲۲: دستور print()  باعث می‌شود چاپ در سطر بعدی ادامه یابد.

انجام تمرین‌های پیشرفته تر پایتون با کمک فرادرس

در فرادرس، مجموعه آموزشی به نام «مجموعه آموزش پروژه محور برنامه نویسی پایتون» تهیه و تدوین شده است. در این مجموعه آموزش، تمرین‌های بسیار پیشرفته‌تری با کمک پیاده‌سازی پروژه‌های واقعی آموزش داده می‌شود. در هر کدام از فیلم‌های آموزشی، مفاهیم، تکنولوژی‌ها و کتابخانه‌های متنوعی استفاده شده‌اند. بررسی این آموزش‌ها مهارت‌های برنامه نویسی شما را به مقدار چشم‌گیری افزایش می‌دهد.

در پایین، چند فیلم‌ آموزشی از این مجموعه را معرفی کرده‌ایم.

در صورت تمایل با کلیک بر روی تصویر زیر به صفحه اصلی این مجموعه آموزشی هدایت شده و از فیلم‌های پروژه‌محور بیشتری دیدن کنید.

مجموعه آموزش پروژه محور برنامه نویسی پایتون (Python)
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش پروژه محور برنامه نویسی پایتون هدایت شوید.

دیکشنری و رشته در پایتون

در این بخش، چند نمونه سوال پایتون با جواب رایگان درباره دیکشنری و رشته را بررسی می‌کنیم. این ساختار‌ها جزو پرکاربرد‌ترین انواع داده در پایتون هستند. برای تبدیل شدن به برنامه نویس حرفه‌ای باید در کار با آن‌ها مهارت پیدا کنیم. یکی از روش‌های کسب مهارت در کار با رشته‌ها مشاهده فیلم آموزش رایگان رشته و متن در برنامه نویسی پایتون از فرادرس است. برای کمک به مخاطبان مجله لینک این فیلم را در پایین نیز قرار داده‌ایم.

مثال ۱۸: پیمایش بر روی دیکشنری با استفاده از حلقه

در این برنامه می‌خواهیم بدون استفاده از متدهای دیکشنری در پایتون به کلید‌ها و مقدار‌های آن دسترسی پیدا کنیم. باید طوری کد بنویسیم که تمام کلید‌ها و مقادیر دیکشنری به ترتیب، ردیف به ردیف در مقابل هم چاپ شوند.

بعد از اجرای کد بالا، خروجی به صورت زیر در کنسول پایتون نمایش داده می‌شود.

در فهرست پایین، تمام مراحل کد بالا را توضیح داده‌ایم.

  1. در خط اول دیکشنری dt  را با چند مقدار دلخواه تعریف کردیم.
  2. سپس با استفاده از حلقه for  بر روی دیکشنری پیمایش می‌کنیم. خط for key in dt بر روی تمام کلید‌های دیکشنری پیمایش می‌کند. کلمه key  در این خط به صورت دلخوه نوشته شده است. می‌توانیم از هر عبارتی مانند i  هم استفاده کنیم.
  3. در هر بار اجرای حلقه، کد print(key, dt[key]) کلید و مقدار متناظر با آن را در دیکشنری چاپ می‌کند.

مثال ۱۹: چاپ کلید‌ها و مقادیر به شکل مجزا از هم

در این سوال هم دیکشنری دلخواهی داده شده است. برای حل آن باید برنامه‌ای با زبان پایتون بنویسیم که کلید‌های دیکشنری و مقادیر آن را به شکل جدا از هم چاپ کند.

برای دسترسی به کلیدهای دیکشنری از تابع keys() استفاده می‌کنیم. برای دسترسی به مقادیر آن هم از تابع values() استفاده می‌شود.

بعد از اجرای کد بالا، خروجی زیر در کنسول پایتون نمایش داده می‌شود.

a
b
c
juice
grill<br>corn<br>

در فهرست پایین، تمام مراحل کد بالا را توضیح داده‌ایم.

  1. در خط اول دیکشنری به نام dt  ساخته می‌شود. این دیکشنری از سه کلید و مقدار مختلف تشکیل شده است.
  2. ابتدا با کمک حلقه for  همه کلیدهای دیکشنری پیمایش شده و به ترتیب چاپ می‌کنیم. در این خط برای دسترسی به کلید‌ها از کد dt.keys()  استفاده کرده‌ایم.
  3. سپس دوباره از حلقه for  کمک گرفته و تمام مقدارهای دیکشنری را پیمایش کرده و در خروجی چاپ می‌کنیم. در این خط هم برای دسترسی به مقادیر از کد dt.values()  استفاده می‌کنیم.

مثال ۲۰: حذف علائم نگارشی از متن

در این نمونه سوال پایتون با جواب رایگان باید برنامه‌ای برای حذف علائم نگارشی در رشته داده شده بنویسیم. در کادر پایین، راه حل این سوال را پیاده‌سازی کرده‌ایم.

بعد از اجرای کد بالا، خروجی به صورت زیر در کنسول پایتون نمایش داده می‌شود.

برای حل این سوال:

  1. اول رشته‌ای از تمام علائم نگارشی ساخته‌ایم.
  2. سپس با استفاده از حلقه for  بر روی رشته داده شده پیمایش می‌کنیم. این رشته به صورت دلخواه و توسط خودمان نوشته شده است. اما می‌توان آن را از کاربر گرفت یا از فایل‌های متنی خواند.
  3. در هر گردش حلقه بررسی می‌کنیم که آیا کاراکتر مشاهده شده از نوع علائم نگارشی است یا نه. برای این کار از شرط if char not in punctuations استفاده می‌کنیم.
  4. اگر کاراکتر مورد نظر جزو این علائم نبود، آن را به رشته خالی no_punct  اضافه می‌کنیم.
  5. در پایان هم رشته موجود در متغیر no_punct  را بر روی خروجی چاپ می‌کنیم. تمام علائم نگارشی از این رشته حذف شده‌اند.

مثال ۲۱: محاسبه اندازه فایل

در این مسئله از ما خواسته شده است که برنامه پایتونی بنویسیم که اندازه فایل مشخص شده را به دست آورده و در خروجی چاپ کند.

بعد از اجرای کد بالا، خروجی به صورت زیر در کنسول پایتون نمایش داده می‌شود.

توجه کنید که این عدد به دلیل اندازه این فایل در کامپیوتر ما بدست آمده است. وقتی این کد را بر روی کامپیوتر خود و با فایل‌های دیگر آزمایش کنید اعداد دیگری بدست خواهید آورد. با کمک تابع stat()  از ماژول os می‌توانیم جزئیات مربوط به فایل‌ها را بدست بیاوریم. برای اینکه اندازه فایل را بفهمیم باید از صفت st_size  در متد stat()  استفاده کنیم. عدد نشان داده شده با واحد بایت است. یعنی اندازه این فایل ۳۴ بایت است.

source

توسط expressjs.ir