برای حرفهای شدن در برنامه نویسی با پایتون، فقط مشاهده و مطالعه مطالب آموزشی کافی نیست، مخصوصا برای کسانی که در ابتدای مسیر هستند. بررسی چند تمرین پایتون مقدماتی با جواب تاثیر زیادی در نهادینه شدن مفاهیم و نکات این زبان برنامه نویسی دارد. پایتون یکی از زبانهای چندکاره و سطح بالا است. این زبان، سینتکس خوانا و کوتاهی دارد. پایتون از روشهای مختلف برنامه نویسی پشتیبانی میکند. به عنوان مثال میتوان به شیءگرایی، برنامه نویسی «دستوری» (Imperative) و برنامه نویسی تابعی اشاره کرد. از ویژگیهای مهم پایتون میتوان به «نوعدهی پویا» (Dynamic Typing)، مدیریت حافظه خودکار و کتابخانه استاندارد بسیار کامل و قدرتمند اشاره کرد. افراد زیادی علاقهمند به یادگیری پایتون هستند. زیرا با مسلط شدن بر روی این زبان میتوانند از فرصتهای شغلی متنوع استفاده کنند.
آنچه در این مطلب میآموزید:
-
با تکنیکهای محاسبه طول رشته و شمارش کاراکترهای آن اشنا میشوید.
-
چند متد و تابع کاربردی برای استفاده در لیستهای پایتون را یاد میگیرید.
-
از افزودن کلید به دیکشنری تا تکنیکهای مرتبسازی عناصر آن را میآموزید.
-
روش ساختن تاپل و چسباندن کاراکترهای موجپد در آن به همدیگر با یاد میگیرید.
-
متوجه میشوید که چگونه در پایتون از آرایهها استفاده کنید.
-
با بررسی مثالهای مختلف روش استفاده از عبارتهای شرطی و حلقههای پایتون را یاد میگیرید.

در این مطلب از مجله فرادرس، چند تمرین پایتون مقدماتی با جواب را بررسی میکنیم. برای این کار، از بیشتر بخشهای مهم زبان پایتون، مثالهایی ساده و کاربردی آوردهایم. برای بررسی مفاهیمی مثل رشته، لیست، دیکشنری و آرایه از تمرینهای متنوعی استفاده میکنیم. در بخش انتهایی هم ۶ تمرین پایتون مقدماتی با جواب درباره عبارتهای شرطی و حلقهها را بررسی میکنیم.
چند تمرین ساده پایتون درباره کار با رشته
ابتدا چهار تمرین پایتون مقدماتی با جواب تشریحی را درباره رشته، بررسی میکنیم.
این تمرینات به ترتیب زیر هستند.
- محاسبه طول رشته
- شمارش تکرار کاراکترها در رشته
- شناسایی طولانیترین کلمه
- حذف n-امین کاراکتر از رشته

تمرین ۱: محاسبه طول رشته
در این مسئله باید برنامهای بنویسیم که طول رشته داده شده را – بر حسب کاراکتر – بشمارد. سپس نتیجه را در خروجی، اعلام کند. برای مثال اگر رشته https://blog.faradars.org
را به این برنامه بدهیم. باید در خروجی عدد 25 را برگرداند.
برای حل این مسئله، پاسخ را به شکل تابع مینویسیم. ساختن تابع باعث میشود که بتوانیم در جاهای دیگری از برنامه هم بدون نوشتن کدهای اضافه از این عملیات استفاده کنیم.
روش کار کدهای بالا را در پایین توضیح دادهایم.
- ابتدا تابعی به نام string_length تعریف میکنیم. وظیفه این تابع، شمارش تعداد کاراکترهای موجود در رشته است. تابع string_length پارامتر ورودی به نام str1 دریافت میکند.
- درون تابع، متغیر count را با مقدار اولیه 0 تعریف میکنیم. این متغیر، تعداد کاراکترها را نگهمیدارد.
- با استفاده از حلقه for، روی تک به تک کاراکترهای رشته str1 پیمایش میکنیم.
- در هر تکرار حلقه، مقدار متغیر count را یک واحد افزایش میدهیم.
- بعد از پایان حلقه، مقدار نهایی متغیر count را برمیگردانیم. این مقدار برابر با تعداد کل کاراکترهای موجود در رشته ورودی است.
- در خط آخر کد، تابع string_length را با رشته https://blog.faradars.org صدا میزنیم.
تمرین ۲: شمارش تکرار کاراکترها در رشته
در این مسئله از کاربر خواسته شده است تا برنامهای برای شمارش تعداد تکرار کاراکترهای رشته بنویسد. برای مثال، فرض کنیم که رشته google.com به این برنامه داده شده است. خروجی برنامه باید به شکل زیر باشد.
{'g': 2, 'o': 3, 'l': 1, 'e': 1, '.': 1, 'c': 1, 'm': 1}
برای حل این سوال از دیکشنری و حلقه for در پایتون کمک میگیریم. در پایین روش حل این مسئله را توضیح دادهایم.
- ابتدا با کمک حلقه for بر روی رشته مورد نظر، پیمایش میکنیم.
- یک به یک تمام کاراکترها را بررسی میکنیم. آیا از قبل به عنوان کلید در دیکشنری وجود دارند یا نه.
- اگر وجود داشت مقدار مربوط به آن کلید را یک واحد زیاد میکنیم.
- اگر وجود نداشت کلیدی با آن کاراکتر میسازیم. سپس مقدار 1 را به آن اختصاص میدهیم.
- بعد از بررسی تمام کاراکترها، دیکشنری نهایی تعداد تکرار هر حرف را نشان میدهد.

در کادر زیر، کدهای مربوط به حل این مسئله نوشته شدهاند.
بعد از اجرای کدهای بالا خروجی زیر در کنسول پایتون نمایش داده میشود.
{'g': 2, 'o': 3, 'l': 1, 'e': 1, '.': 1, 'c': 1, 'm': 1}
تمرین ۳: شناسایی طولانیترین کلمه
در این مسئله، لیستی از رشتههای مختلف به برنامه داده میشود. کاربر باید تابعی بنویسد که این لیست را دریافت کرده و تمام رشتهها را بررسی کند. بعد از شناسایی طولانیترین رشته، آن را در خروجی نمایش دهد.
برای مثال اگر لیست [“Python”, “Exercises”, “Backend”] به برنامه داده شد. باید عبارت Exercises در خروجی نمایش داده شود. کدهای حل این مسئله را در کادر زیر، نوشتهایم.
بعد از اجرای کدهای بالا خروجی به شکل زیر در کنسول پایتون نمایش داده میشود.
Longest word: Exercises Length of the longest word: 9
برای حل این سوال، ابتدا لیست خالی به نام word_len میسازیم. در این لیست هر کلمه همراه با تعداد کاراکترهایش ذخیره میشوند. سپس با استفاده از حلقه for بر روی words_list پیمایش میکنیم. در فهرست پایین، کارهای انجام شده در هر تکرار از پیمایش را نوشتهایم.
- تاپلی ایجاد میکنیم. این تاپل شامل طول کلمه و خود کلمه است.
- تاپل مورد نظر به لیست word_len اضافه میشود.
- لیست word_len را بر اساس طول کلمهها به ترتیب صعودی مرتب میکنیم.
- آخرین عنصر لیست، همان بلندترین کلمه است. این عنصر را در خروجی برمیگردانیم.
تمرین ۴: حذف n-امین کاراکتر از رشته
در این مسئله، رشته غیرتهی را همراه با شماره مورد نظر به برنامه ارسال میکنیم. اگر اندیسی با شماره ارسال شده وجود داشته باشد، برنامه باید کاراکتر متناظر با آن را از رشته حذف کند. برای مثال اگر کلمه Mostafa را همراه با شماره 3 به برنامه بدهیم. در خروجی باید رشته Mosafa برگشت داده شود.

راه حل این سوال را در کادر زیر، پیادهسازی کردهایم.
بعد از اجرای کدهای بالا خروجی به شکل زیر در کنسول پایتون نمایش داده میشود.
ython Pyton Pytho
برای حل این مسئله، ابتدا تابعی به نام remove_char تعریف میکنیم. این تابع دو پارامتر ورودی دارد، رشتهای به نام str و عددی به نام n. پارامتر n، موقعیت کاراکتری را نشان میدهد که باید از رشته حذف شود.
- ابتدا رشته جدیدی به نام first_part میسازیم. با استفاده از کد str[:n] فقط کاراکترهای ابتدای رشتهی اصلی تا قبل از موقعیت n در این رشته، قرار میگیرند.
- سپس رشته دیگری به نام last_part میسازیم. با استفاده از کد str[n+1:]، تمام کاراکترهای بعد از موقعیت n در آن قرار میگیرند.
- در نهایت با استفاده از عملگر +، دو رشته first_part و last_part را به هم وصل کرده و به بیرون از تابع برمیگردانیم.
تمرین پایتون مقدماتی با جواب درباره لیست
در این بخش از مطلب چند تمرین ساده و متوسط را درباره کار با لیستهای پایتون را مرور میکنیم. هر کدام از مثالها همراه با پاسخ کامل ارائه شدهاند. همچنین هرجا نیاز بود کدهای پاسخ را به شکل کامل، توضیح دادهایم.
- جمع تمام عناصر درون لیست
- کشف بزرگترین عدد درون لیست
- حذف گزینههای تکراری از لیست
- حذف اعداد زوج از لیست
در ادامه تمام موارد بالا را یک به یک به ترتیب، بررسی کردهایم.
تمرین ۵: جمع تمام عناصر درون لیست
در این تمرین، لیستی از اعداد داده شده است. کاربر باید تابعی برای جمعکردن عناصر درون این لیست بنویسد.
بعد از اجرای کدهای بالا خروجی به شکل زیر در کنسول پایتون نمایش داده میشود.
5
تمام مراحل اجرای کد بالا را در پایین، توضیح دادهایم.
- def sum_list(items): در این خط، تابعی به نام sum_list تعریف میکنیم. این تابع فقط یک پارامتر دریافت میکند. از این تابع برای محاسبه مجموع تمام عناصر لیست، استفاده میکنیم.
- sum_numbers = 0: در این خط کد، متغیری به نام sum_numbers را تعریف کرده و مقدار 0 را به آن تخصیص میدهیم. این متغیر، وظیفه نگهداری نتیجه جمع عناصر لیست را بر عهده دارد.
- for x in items: با کمک این کد، حلقهای ایجاد میکنیم. این حلقه بر روی تمام عناصر لیست یک به یک پیمایش میکند.
- sum_numbers += x: این کد در هر بار گردش حلقه، یک بار اجرا میشود. وظیفه آن اضافه کردن مقدار عنصر فعلی به محتوای ذخیره شده در sum_numbers است. این کد، مقدار کوتاهنویسی شده کد sum_numbers = sum_numbers + x است.
- return sum_numbers: این کد هم بعد از به پایان رسیدن حلقه، مقدار نهایی متغیر sum_numbers را برمیگرداند.

تمرین ۶: کشف بزرگترین عدد درون لیست
در این تمرین از کاربر خواسته شده است که تابعی برای پیدا کردن بزرگترین عدد درون لیست طراحی کند. در کادر پایین، کدهای مربوط به حل این مسئله نوشته شدهاند.
بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده میشود.
2
در فهرست پایین، مراحل کار کدهای بالا را توضیح دادهایم.
- def max_num_in_list(list):: با کمک این کد، تابع max_num_in_list را تعریف میکنیم. این تابع فقط یک پارامتر دریافت میکند. این پارامتر هم همان لیستی است که باید بزرگترین عنصر آن را پیدا کنیم.
- max = list[0]: فرض میکنیم که لیست داده شده خالی نیست. با کمک این کد، اولین عنصر از لیست را به متغیری به نام max اختصاص میدهیم.
- for a in list: با کمک این کد، حلقهای برای پیمایش بر روی تمام عناصر لیست میسازیم. در هر بار پیمایش حلقه، متغیر a به ترتیب از ابتدای لیست شروع کرده و یک به یک برابر با عناصر مختلف در لیست میشود.
- if a > max: با استفاده از این شرط، در هر تکرار حلقه، مقدار عناصر لیست را با مقدار ذخیره شده در متغیر مقایسه میکنیم. اگر عنصر مورد نظر از max بزرگتر بود، با استفاده از کد max = a آن مقدار را به متغیر max اختصاص میدهیم. در نتیجه با پیمایش کامل حلقه، بزرگترین عنصر لیست در متغیر max قرار میگیرد.
- return max: در نهایت هم با استفاده از این کد، مقدار بزرگترین عنصر را به بیرون از تابع ارسال میکنیم.
بعد از به پایان رسیدن برنامه، از تابع print() برای چاپ نتیجه استفاده کردهایم.
تمرین ۷: حذف گزینههای تکراری از لیست
اکنون باید برنامهای بنویسیم که عنصرهای تکراری لیست را پیدا کرده و از آن حذف کند. در کادر زیر، روش حل این مسئله پیادهسازی شده است.
بعد از اجرای کدهای بالا خروجی زیر در کنسول پایتون نمایش داده میشود.
{40, 10, 80, 50, 20, 60, 30}
مراحل اجرای عملیات کد بالا را در فهرست پایین نوشتهایم.
- ابتدا لیستی به نام a تعریف کردهایم. این لیست شامل ۱۱ عدد صحیح است.
- «مجموعه» (Set) خالی به نام dup_items تعریف میکنیم. از این مجموعه برای ردیابی اعداد تکراری استفاده میشود.
- لیست خالی به نام uniq_items میسازیم. در این لیست فقط اعداد غیرتکراری ذخیره میشوند.
- با استفاده از حلقه for روی همه عناصر لیست a پیمایش میکنیم.
- در هر مرحله بررسی میکنیم که آیا عدد فعلی x از قبل در dup_items وجود دارد یا نه.
- اگر عدد هنوز در مجموعه ذخیره نشده باشد، با استفاده از متد append() به لیست uniq_items اضافه میشود.
- سپس آن عدد را با استفاده از متد add به مجموعه dup_items اضافه میکنیم. از این به بعد آن عدد به عنوان تکراری شناخته میشود.
- در پایان، dup_items چاپ میشود. این مجموعه شامل تمام عددهای یکتای موجود در لیست اولیه a است.

تمرین ۸: حذف اعداد زوج از لیست
در این تمرین، ابتدا لیستی به کاربر داده میشود. کاربر باید تمام اعداد زوج درون لیست را حذف کند. سپس لیست نهایی را دوباره در خروجی چاپ کند.
بعد از اجرای کدهای بالا خروجی زیر در کنسول پایتون نمایش داده میشود.
[7, 25, 27]
در فهرست پایین، روش کار برنامه بالا را به شکل کامل توضیح دادهایم.
- ابتدا لیستی به نام num ساختهایم. این لیست شامل چند عدد صحیح زوج و فرد است.
- سپس با استفاده از تکنیک «خلاصه نویسی لیست» (List Comprehension) مقادیر لیست num را بهروزرسانی کردهایم. برای انجام این کار از کد x for x in num if x%2!=0 استفاده کردهایم. این کد بر روی تمام عناصر لیست num پیمایش میکند.
- اگر باقیمانده تقسیم عنصری بر عدد 2 نامساوی صفر بود – یعنی آن عنصر فرد است – باید آن را به لیست num جدید اضافه کنیم.
- اگر باقیمانده تقسیم عنصری بر عدد 2 مساوی صفر شد – یعنی آن عنصر زوج است – پس نباید آن را به لیست num جدید اضافه کنیم.
- در نهایت مقدار لیست جدید num، شامل تمام عناصر قبلی منهای عنصرهای زوج است. دادههای درون این لیست با استفاده از تابع print(num) در خروجی چاپ میشوند.
آموزش پایتون با کمک فرادرس
پایتون گزینه بسیار خوبی برای توسعه نرمافزارهای پیچیده است. سینتکس زبان پایتون به به زبان انسان نزدیک است. این مسئله، فرایند یادگیری و استفاده از آن را راحتتر میکند. یاد گرفتن مهارت کار با پایتون، انتخاب مناسبی برای اشخاص علاقهمند به شغلهای برنامهنویسی است. در ضمن با افزایش مهارت به مرور این زبان، جذابتر و کاربردیتر نیز میشود. از بین روشهای گوناگون برای یادگیری حرفهای پایتون، استفاده از فیلمهای آموزشی یکی از بهترین روشها است. وبسایت فرادرس یکی از تولیدکنندگان قدرتمند فیلمهای آموزش پایتون است.

این وبسایت به شکل اختصاصی به تولید فیلمهای آموزشی میپردازد. فیلمهای فرادرس حوزههای مختلفی را پوشش میدهند. زبان پایتون هم یکی از این حوزههاست. اگر در ابتدای یادگیری پایتون هستید پیشنهاد میکنیم که فیلم آموزش رایگان پایتون، برنامه نویسی سریع و آسان در ۱۴۰ دقیقه را از فرادرس مشاهده کنید. اما اگر با اصول اولیه و مفاهیم کلی آشنا هستید، ادامه مسیر یادگیری خود را بهتر است با مشاهده فیلمهای پیشرفتهتر به پیش بروید.
در پایین، فیلمهای آموزشی دیگری را معرفی کردهایم. این فیلمها برای آموزش سطوح پیشرفتهتر برنامهنویسی مفید هستند.
در بخش بعدی، چند تمرین پایتون مقدماتی با جواب را درباره دیکشنریها بررسی کردهایم.
تمرین پایتون مقدماتی با جواب برای دیکشنری
در این قسمت از مطلب، برای آموزش کار با دیکشنریهای پایتون، چند تمرین ابتدایی را بررسی میکنیم. دیکشنری پایتون به مجموعه نامرتبی از دادهها گفته میشود. این دادهها به صورت کلید-مقدار ذخیره میشوند. برای نشان دادن دیکشنری از آکولادهای باز و بسته {} استفاده میکنیم. کلیدها و مقدارها باید از نوعهای تعریف شده در پایتون باشند. این جفتهای کلید-مقداری با استفاده از کاراکتر کاما , از همدیگر جدا میشوند.
- افزودن کلید به دیکشنری
- تجمیع چند دیکشنری و ساخت دیکشنری بزرگتر
- بررسی وجود داشتن کلید خاص
- مرتبسازی دیکشنری بر اساس کلید
- مرتبسازی دیکشنری بر اساس مقدار
به غیر از دیکشنری، ساختار دیگری هم در پایتون وجود دارد که برای نگهداری عناصر خودش از {} استفاده میکند. به این ساختار «مجموعه» (Set) گفته میشود. البته بین دیکشنری و مجموعه تفاوتهای بسیار زیادی وجود دارد. برای شناخت بهتر هر دوی این ساختارها و تفاوتهایشان پیشنهاد میکنیم ک فیلم رایگان داده ساختارهای Dictionary و Set در پایتون را از فرادرس مشاهده کنید. لینک مربوط به این فیلم را در پایین نیز قرار دادهایم.
در ادامه این بخش تمام موارد فهرست بالا را یک به یک به ترتیب بررسی کردهایم.
تمرین ۹: افزودن کلید به دیکشنری
در تمرین اول باید برنامه پایتون برای اضافه کردن کلید جدید به دیکشنری بنویسیم. برای پیادهسازی این برنامه از تابع update() استفاده میکنیم. کدهای مربوط به این برنامه در پایین نوشته شدهاند.
بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده میشود.
{0: 10, 1: 20} {0: 10, 1: 20, 2: 30}
تمرین ۱۰: تجمیع چند دیکشنری و ساخت دیکشنری بزرگتر
در این تمرین، فرض میکنیم که سه دیکشنری کوچک داده شدهاند. از کاربر خواسته شده تا برنامهای برای ادغام این دیکشنریها در یکدیگر بنویسد. در تصویر زیر، روش ادغام این دیکشنریها نمایش داده شدهاند.

در کادر زیر، کدهای مربوط به حل این مسئله نوشته شدهاند.
بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده میشود.
{1: 10, 2: 20, 3: 30, 4: 40, 5: 50, 6: 60}
در فهرست زیر، مراحل اجرای کد بالا را نوشتهایم.
- در خطهای ابتدای کد، سه دیکشنری با نامهای dic1 و dic2 و dic3 ساخته شدهاند. هرکدام شامل دو جفت کلید و مقدار هستند.
- سپس دیکشنری خالی به نام dic4 ساخته میشود. همه کلید-مقدارها باید در این دیکشنری جمع شوند.
- با استفاده از حلقه for، به ترتیب روی همه دیکشنریهای dic1 و dic2 و dic3 پیمایش میکنیم.
- در هر مرحله، محتوای دیکشنری فعلی را با استفاده از تابع update() به dic4 اضافه میکنیم.
- در پایان، تمام کلید-مقدارهای هر سه دیکشنری در dic4 ذخیره شدهاند. این دیکشنری را در خروجی چاپ میکنیم.
تمرین ۱۱: بررسی وجود داشتن کلید خاص
در این بخش باید به دنبال کلید مشخص شده در دیکشنری بگردیم. فرض میکنیم دیکشنری داده شده است. سپس کاربر، مقداری را به عنوان کلید مشخص میکند. باید ببینیم که آیا این کلید در دیکشنری موجود است یا نه.
در کادر زیر، کدهای مربوط به پیادهسازی این برنامه را نوشتهایم.
بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده میشود.
Key is present in the dictionary Key is not present in the dictionary
در مثال بالا تابع is_key_present() را خودمان تعریف کردهایم. این تابع فقط یک پارامتر به نام x دارد.
- درون تابع، با کمک عبارت شرطی if x in d بررسی میکنیم که آیا مقدار x به عنوان کلید در دیکشنری d وجود دارد یا نه.
- اگر x یکی از کلیدهای دیکشنری d باشد، پیام Key is present in the dictionary چاپ میشود.
- اگر x در دیکشنری d وجود نداشته باشد، پیام Key is not present in the dictionary چاپ میشود.
در انتهای کدها ابتدا عدد 5 را بررسی کردهایم. چون این عدد در دیکشنری موجود است پس پیغامی به معنای وجود داشتن آن در دیکشنری، ظاهر شده است. دفعه بعد هم وجود داشتن کلید 9 را در دیکشنری بررسی کردیم. این کلید در دیکشنری وجود ندارد. بنابراین پیغام متناسب با آن در خروجی، چاپ شده است.

تمرین ۱۲: مرتبسازی دیکشنری بر اساس کلید
در این سوال دیکشنری داده شده است. از ما خواسته شده عناصر دیکشنری را بر اساس کلیدهای آن مرتب کنیم. این مسئله به سادگی و با استفاده از متد sorted() حل میشود. در کادر پایین، روش حل آن را کدنویسی کردهایم.
بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده میشود.
black: #000000 green: #008000 red: #FF0000 white: #FFFFFF
در سوال بالا دیکشنری به نام color_dict داده شده است. این دیکشنری شامل چند رنگ به عنوان کلید و کد هگزادسیمال آنها به عنوان مقدار است.
- با استفاده از حلقه for، روی کلیدهای دیکشنری color_dict پیمایش میکنیم.
- قبل از پیمایش، با استفاده از تابع sorted()، کلیدها را به ترتیب حروف الفبا مرتب میکنیم.
- در هر تکرار حلقه، یک کلید از لیست مرتب شده وارد متغیر key شده و در خروجی چاپ میشود.
تمرین ۱۳: مرتبسازی دیکشنری بر اساس مقدار
در این سوال، ابتدا دیکشنری مشخصی داده شده است. سپس از کاربر خواسته شده که برنامهای برای مرتبسازی دادههای دیکشنری بنویسد. مرتبسازی باید بر اساس مقدارهای مربوط به هر کلید انجام شود. این دیکشنری باید به دو صورت صعودی و نزولی مرتب شود. ابتدا روش حل این مسئله را نوشتهایم. سپس مراحل آن را به صورت قدمبهقدم توضیح دادیم.
بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده میشود.
Original dictionary : {1: 2, 3: 4, 4: 3, 2: 1, 0: 0} Dictionary in ascending order by value : [(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)] Dictionary in descending order by value : {3: 4, 4: 3, 1: 2, 2: 1, 0: 0}
روش کار برنامه بالا را در فهرست زیر نوشتهایم.
- در ابتدای این کدها دیکشنری به نام d ساخته شده است. این دیکشنری برای نمایش روش مرتبسازی در خروجی استفاده میشود.
- با استفاده از متدهای sorted() و operator.itemgetter(1)، دیکشنری بر اساس مقادیر مربوط به کلیدها به ترتیب صعودی مرتب میشود.
- نتیجه مرتب شده، لیستی از جفتهای کلید-مقدار است. این لیست را در خروجی چاپ میکنیم.
- دوباره همان دیکشنری با استفاده از sorted() مرتب میشود، اما این بار به صورت نزولی، با کد reverse=True.
- خروجی به کمک تابع dict() به دیکشنری تبدیل میشود.
- در خط ۲۱، دیکشنری مرتب شده – به صورت نزولی – چاپ میشود.

دیکشنریها جزو کاربردیترین ساختارهای ذخیره داده در برنامههای پایتون هستند. بخصوص بدلیل شباهت این ساختار و JSON لازم است که به عنوان توسعهدهنده پایتون مهارت کافی را برای کار با آن داشته باشیم. برای حرفهای شدن در کار با این ساختار، بهتر است روش استفاده از انواع متدهای دیکشنری در پایتون را بلد باشیم. در صورت نیاز به کسب اطلاعات بیشتر، پیشنهاد میکنیم که مطلب مربوط به آن را در مجله فرادرس مطالعه کنید.
تمرین پایتون مقدماتی با جواب برای تاپل
اکنون نوبت به بررسی چند مثال ساده و متوسط درباره ساختار تاپل در پایتون است. تاپل ساختاری است که برای نگهداری مقادیر مختلف به صورت منظم و غیرقابل تغییر استفاده میشود. برای نمایش تاپل از پرانتزهای باز و بسته استفاده میکنیم. در فهرست پایین، تمرینهای حل شده در این بخش را نام بردهایم.
- ساخت تاپلی از اعداد و چاپ یک عنصر از میان آنها
- اضافه کردن یک عنصر به تاپل
- تبدیل کردن تاپلی از کاراکترها به رشته واحد
در ادامه تمام موارد بالا را یک به یک بررسی کردهایم.
تمرین ۱۴: ساخت تاپل و چاپ یک عنصر از آن
در این مسئله درخواست شده است که تاپلی از اعداد ایجاد کنیم. سپس یکی از آنها را در خروجی چاپ کنیم.
بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده میشود.
(5, 10, 15, 20, 25) (5,)
مشاهده میکنید که برای ساخت تاپل فقط کافی است تمام اعداد یا عناصر تاپل را در کنار هم نوشته و با عملگر کاما , از هم جدا کنیم.
- در این مثال، ابتدا تاپلی به نام tuplex تعریف کردیم. و به عنوان مقدار، مضارب ۱ تا ۵ عدد 5 را به آن اختصاص دادیم.
- سپس با استفاده از دستور print(tuplex)، محتوای این تاپل چاپ میشود.
- در مرحله بعد، عدد 5 را به tuplex تخصیص میدهیم. نکته مهم در این خط، علامت کاما بعد از عدد 5 است. اگر کاما نباشد، مقدار tuplex فقط عددی ساده خواهد بود، نه یک تاپل.
- در آخر، دوباره با دستور print(tuplex) محتوای تاپل جدید چاپ میشود.
تمرین ۱۵: اضافه کردن یک عنصر به تاپل
در این تمرین باید برنامه پایتونی برای اضافه کردن عنصر به تاپل بنویسیم. به این صورت که ابتدا تاپلی داده میشود. اول باید عدد 9 را به این تاپل اضافه کنیم. سپس تاپل دیگری با مقدار (15, 20, 25) داده میشود. باید ۵ عنصر اول تاپل اصلی را به ابتدا و انتهای این تاپل اضافه کنیم. در نهایت عدد 30 را به نتیجه بدست آمده اضافه میکنیم.

در تصویر بالا روش حل این مسئله رسم شده است.
بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده میشود.
(4, 6, 2, 8, 3, 1) (4, 6, 2, 8, 3, 1, 9) (4, 6, 2, 8, 3, 15, 20, 25, 4, 6, 2, 8, 3) (4, 6, 2, 8, 3, 15, 20, 25, 4, 6, 2, 8, 3, 30)
در ادامه، روش کار کد بالا را مرحله به مرحله توضیح دادهایم.
- ابتدا تاپلی به نام tuplex تعریف میکنیم. این تاپل شامل اعداد (4, 6, 2, 8, 3, 1) است.
- با استفاده از دستور print()، محتوای اول تاپل را نمایش میدهیم.
- تاپلها قابل تغییر نیستند. بنابراین برای افزودن مقدار جدید باید تاپل تازهای بسازیم. با استفاده از عملگر +، عدد ۹ را به صورت (9,) به انتهای tuplex اضافه میکنیم. در اثر این کار تاپل جدیدی ساخته میشود.
- مقدار جدید تاپل را دوباره در متغیر tuplex ذخیره کرده و سپس چاپ میکنیم.
- برای افزودن چند مقدار به ابتدا و انتهای تاپل، ابتدا از کد tuplex[:5] استفاده میکنیم. این کد، پنج عنصر اول تاپل را برمیگرداند.
- سپس تاپل جدیدی با مقدارهای (15, 20, 25) را بین این عناصر قرار میدهیم.
- تاپل ساخته شده را در متغیر tuplex ذخیره کرده و چاپ میکنیم.
- در خط ۱۸ برای اعمال تغییر بیشتر، تاپل را به لیست تبدیل میکنیم. این کار با استفاده از list(tuplex) انجام میشود و نتیجه در listx ذخیره میشود.
- با استفاده از متد append()، عدد 30 را به انتهای لیست اضافه میکنیم.
- سپس لیست listx را با استفاده از تابع tuple() دوباره به تاپل تبدیل میکنیم و نتیجه را در tuplex ذخیره میکنیم.
- در نهایت، تاپل نهایی را چاپ میکنیم. این تاپل، شامل تمام تغییرات انجام شده است.
تمرین ۱۶: تبدیل کردن تاپلی از کاراکترها به رشته واحد
در این تمرین کاراکترهای مجزا از هم به عنوان عناصر تاپل ذخیره شدهاند. در متن سوال خواسته شده برنامهای برای چسباندن این کاراکترها به یکدیگر بنویسیم.

در تصویر بالا روش انجام این کار نشان داده شده است. کدهای زیر همین فرایند را پیادهسازی میکنند.
بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده میشود.
exercises
برای حل این مسئله فقط از متد join() استفاده کردهایم.
- در بالای کدها تاپلی به نام tup تعریف شده است. این تاپل شامل کاراکترهایی به صورت جداگانه است.
- با استفاده از متد join()، تمام کاراکترهای داخل تاپل را به هم وصل میکنیم.
- نتیجهی اتصال کاراکترها در یک رشتهی جدید به نام str ذخیره میشود.
- در پایان، با استفاده از print(str)، رشتهی نهایی چاپ میشود.
نکته: رشتهی خالی ” در ابتدای .join(tup) به این معناست که هنگام اتصال کاراکترها، هیچ فاصله یا علامتی بین آنها قرار داده نمیشود.
تمرین پایتون مقدماتی با جواب درباره آرایهها
ماژول array در پایتون برای ساخت آرایه به کار برده میشود. عناصر آرایه میتوانند از هر نوعی مانند کاراکترها، اعداد صحیح، اعداد اعشاری و غیره باشند. آرایهها دنبالههای منظمی از عناصر هستن که شباهت زیادی به لیست در پایتون دارند. به جز این مسئله که اشیاء ذخیره شده در آنها باید یکسان باشند. در این بخش چند تمرین پایتون مقدماتی با جواب را درباره آرایهها بررسی کردهایم.
- ساخت آرایه و دسترسی به عناصر آن
- اضافه کردن عنصر جدید به انتهای آرایه
- معکوس کردن ترتیب عناصر آرایه
- محاسبه طول هر عنصر در آرایه بر اساس بایت
معمولا در مراحل ابتدایی یادگیری پایتون از آرایهها استفاده نمیکنیم. بعد از ورود به حوزههای پیشرفته، آرایه کاربرد بسیار گستردهای پیدا میکند. برای مثال در کتابخانههای پانداس یا NumPy از آرایهها به شکل حرفهای استفاده میشود. برای آشنایی بیشتر با آرایه و کاربردهای حرفهای آن پیشنهاد میکنیم که فیلم آموزش تجزیه و تحلیل و آماده سازی داده ها با پایتون را از فرادرس مشاهده کنید. لینک این فیلم را در پایین نیز قرار دادهایم.
در ادامه این بخش، تمام موارد بالا را تک به تک توضیح داده و حل کردهایم.
تمرین ۱۷: ساخت آرایه و دسترسی به عناصر آن
در این تمرین ساده از ما خواسته شده است که آرایهای با ۵ عنصر از نوع عدد صحیح ایجاد کنیم. سپس یک بار تمام عناصر و بار دیگر فقط سه عنصر اول آرایه را به صورت مجزا از هم در خروجی نمایش دهیم.
در تصویر زیر روش انجام این کار توضیح داده شده است.

کدهای مربوط به حل این تمرین را در کادر پایین نوشتهایم.
بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده میشود.
1 3 5 7 9 Access first three items individually 1 3 5
همینطور که از کدها معلوم است. برای نمایش تمام عناصر آرایه از اندیس آنها و حلقه for استفاده کردهایم.
- در ابتدای کد، از ماژول array، همه چیز را import میکنیم. با این کار میتوانیم از نوع دادهی آرایه استفاده کنیم.
- آرایهای به نام array_num تعریف میکنیم. این آرایه فقط عددهای صحیح -با نوع i - را در خود نگه میدارد.
- مقادیر اولیهی آرایه array_num برابر با [1, 3, 5, 7, 9] است.
- با استفاده از حلقه for، روی تمام عناصر آرایه پیمایش میکنیم.
- در هر مرحله از حلقه، یکی از عناصر آرایه را چاپ میکنیم.
- بعد از پایان حلقه، پیام «Access first three items individually» را چاپ میکنیم.
- در بخش دوم سوال برای نمایش سه عنصر اول آرایه هر عنصر را با کمک اندیس مربوط به آن فراخوانی کردیم.
تمرین ۱۸: اضافه کردن عنصر جدید به انتهای آرایه
در این تمرین از کاربر خواسته شده که برنامهای برای اضافه کردن عنصر دلخواه به انتهای آرایه بنویسد.
بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده میشود.
Original array: array('i', [1, 3, 5, 7, 9]) Append 11 at the end of the array: New array: array('i', [1, 3, 5, 7, 9, 11])
در کدهای بالا برای اضافه کردن عنصر به انتهای آرایه از متد append() استفاده کردهایم. در واقع این متد، یکی از متدهای لیست در پایتون است که بر روی آرایهها هم به کار برده میشود.
- ابتدا از ماژول array همه چیز به محیط کدنویسی وارد میکنیم.
- در خط دوم، آرایهای به نام array_num تعریف میکنیم. این آرایه فقط عددهای صحیح را نگه میدارد. مقادیر اولیهی آن برابر با [1, 3, 5, 7, 9] هستند.
- در خط ۳، با استفاده از دستور print()، متن Original array: همراه با محتوای آرایه چاپ میشود.
- در خط ۴، پیام Append 11 at the end of the array: را چاپ میکنیم. این پیام میگوید که میخواهیم عدد 11 را به آخر آرایه اضافه کنیم.
- با استفاده از متد append()، عدد 11 را به انتهای array_num اضافه میکنیم.
- در پایان، با استفاده از print()، آرایهی جدید را چاپ میکنیم.
تمرین ۱۹: معکوس کردن ترتیب عناصر آرایه
در این تمرین، ابتدا آرایهای داده شده است. سپس از مخاطب، خواسته میشود که برنامهای برای معکوس کردن ترتیب عناصر آرایه بنویسد.
بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده میشود.
Original array: array('i', [1, 3, 5, 3, 7, 1, 9, 3]) Reverse the order of the items: array('i', [3, 9, 1, 7, 3, 5, 3, 1])
در فهرست زیر، مراحل انجام کار را به صورت قدمبهقدم نوشتهایم.
- برای استفاده از آرایه در پایتون، باید ماژول array را وارد برنامه کنیم. با این کار میتوانیم از آرایه استفاده کنیم. معمولاً برای وارد کردن همه چیز از این ماژول، از دستور from array import * استفاده میکنیم.
- در خط دوم، آرایه عدد صحیحی به نام array_num ساخته شده است. این آرایه شامل تعدادی عدد است. برای مشخص شدن نوع دادههای آرایه – یعنی Integer – از کاراکتر ‘i’ استفاده میکنیم.
- محتوای اولیه آرایه با استفاده از print() نمایش داده میشود.
- با استفاده از متد reverse در پایتون ترتیب عناصر آرایه برعکس میشود.
- در پایان، آرایه را با ترتیب جدید چاپ میکنیم.
تمرین ۲۰: محاسبه طول هر عنصر در آرایه بر اساس بایت
در این مسئله آرایهای با عناصری از جنس عدد صحیح داده شده است. از کاربر خواسته شده تا برنامهای برای مشخص کردن اندازه هر کدام از عناصر این آرایه بنویسد.

نکته: تفاوتی نمیکند که نوع عناصر آرایه چه باشد. زیرا کد نوشته شده برای نوعهای مختلف داده کاربرد دارد. در ضمن مشخص کردن اندازه یک عنصر در آرایه کافی است. زیرا همه عناصر یکسان هستند. بنابراین اندازه برابر دارند.
بعد از اجرای کدهای بالا، خروجی زیر در کنسول پایتون نمایش داده میشود.
Original array: array('i', [1, 3, 5, 7, 9]) Length in bytes of one array item: 4
در ادامه، روش کار این کد را مرحلهبهمرحله، توضیح دادهایم.
- برای استفاده از آرایهها ابتدا همه چیز را از ماژول array به محیط کدنویسی import میکنیم.
- در خط ۳، آرایهای به نام array_num تعریف میکنیم. این آرایه فقط عددهای صحیح را نگه میدارد. مقدار اولیهی آن برابر با [1, 3, 5, 7, 9] است.
- در خط ۴، با استفاده از print() ، متن “Original array:” همراه با محتوای آرایه چاپ میشود.
- سپس از ویژگی itemsize استفاده میکنیم. این ویژگی، تعداد بایت مورد نیاز برای ذخیره هر دادهای را در آرایه برمیگرداند.
- مقدار array_num.itemsize به صورت رشته چاپ میشود.
فیلم های پروژه محور برای یادگیری پایتون
زبان برنامهنویسی پایتون بسیار پرطرفدار است. زیرا این زبان در صنایع و بخشهای مختلفی به کار برده میشود. بنابراین فرصتهای شغلی زیادی برای مختصصان پایتون وجود دارند. یکی از روشهای یادگیری پایتون بررسی پروژههای پیادهسازی شده با این زبان است. فرادرس به عنوان تولید کننده محتوای آموزشی، فیلمهای بسیار با کیفیتی را تولید و منتشر میکند. به همین جهت در فرادرس فیلمهای آموزشی پروژه محور زیادی در ارتباط با زبان برنامهنویسی پایتون تهیه شدهاند.
در پایین، چند فیلم آموزشی پروژهمحور زبان پایتون را معرفی کردهایم.
در صورت تمایل با کلیک بر روی تصویر زیر به صفحه اصلی این مجموعه آموزشی هدایت شده و از فیلمهای پروژهمحور بیشتری دیدن کنید.

در ادامه برای بررسی عبارتهای شرطی و حلقهها چند تمرین پایتون مقدماتی با جواب را بررسی کردهایم.
تمرین پایتون مقدماتی با جواب درباره If و حلقهها
در این بخش از مطلب نیز چند تمرین پایتون مقدماتی با جواب را بررسی کردهایم. این تمرینها مربوط به عبارتهای شرطی و انواع حلقههای پایتون هستند. تمرینها پایتون برای عبارتهای شرطی و انواع حلقه
- کشف اعداد مضرب ۵ و بخشپذیر بر ۷
- طراحی الگوی الماسی با حلقه for تو در تو
- شمردن تعداد اعداد زوج و فرد در تاپل
- چاپ کردن تمام اعداد از ۰ تا ۶ بهجز ۳ و ۶
- ساخت آرایه دوبعدی یا جدول ضرب
- بررسی اعتبار کلمه عبور
بیشتر این تمرینها از ساختارهای حلقه و عبارتهای شرطی به صورت ترکیبی استفاده کردهاند. در نتیجه این کدها از یکدیگر تفکیک نشدهاند.

در ادامه این بخش، تمام تمرینهای بالا را یک به یک حل کردهایم.
تمرین ۲۱: کشف اعداد مضرب ۵ و بخشپذیر بر ۷
در این تمرین خواسته شده است که برنامهای برای پیدا کردن اعداد مضرب ۵ و بخشپذیر بر ۷ پیدا کنیم. این اعداد باید در محدوده ۱۵۰۰ تا ۲۷۰۰ باشند. مفهومهای مضرب و بخشپذیری، معنای یکسانی دارند. بنابراین از کد زیر برای حل این مسئله استفاده میکنیم.
بعد از اجرای کدهای بالا خروجی زیر در کنسول پایتون نمایش داده میشود.
1505,1540,1575,1610,1645,1680,1715,1750,1785,1820,1855,1890,1925,1960,1995,2030,2065,2100,2135,2170,2205,2240,2275,2310,2345,2380,2415,2450,2485,2520,2555,2590,2625,2660,2695
در فهرست پایین مراحل اجرای کد بالا را توضیح دادهایم.
- ابتدا لیست خالی به نام nl ساخته شده است. این لیست برای ذخیره عددهای مورد نظر به کار برده خواهد شد.
- سپس با استفاده از حلقه for روی تمام اعداد بین ۱۵۰۰ تا ۲۷۰۰ پیمایش میکنیم. خود عدد ۲۷۰۰ هم جزو این پیمایش هست. اما عدد ۱۵۰۰ بررسی نمیشود.
- در هر مرحله با استفاده از عبارت شرطی x % 7 == 0 and x % 5 == 0 بررسی میکنیم که آیا عدد مورد نظر بر ۷ و ۵ بخشپذیر است یا نه.
- اگر شرط برقرار باشد، عدد مورد نظر به رشته تبدیل شده و به لیست nl اضافه میشود.
- در پایان، با استفاده از تابع join() تمام عددهای داخل لیست را به رشته تبدیل میکنیم. از کاراکتر کاما برای جداسازی اعداد استفاده میشود.
- جواب نهایی در خروجی سپس چاپ میشود.

تمرین ۲۲: طراحی الگوی الماسی با حلقه for تو در تو
اکنون یک تمرین پایتون مقدماتی با جواب را برای رسم کردن الگوهای ساده حل میکنیم. در این تمرین باید برنامه پایتونی برای ساختن الگوی زیر بسازیم. در متن سوال گفته شده است که باید از حلقه for به صورت تو در تو استفاده کنیم.
* * * * * * * * * * * * * * * * * * * * * * * * *
کدهای مربوط به حل این سوال را در کادر زیر، نوشتهایم.
کد بالا از دو بخش تشکیل شده است. در بخش اول نیمه بالایی مثلث و در بخش دوم نیمه پایینی مثلث را میسازیم. در هر دو بخش هم از حلقه for به صورت تو در تو استفاده کردهایم. روش کار بخش اول در فهرست پایین، توضیح داده شده است.
- با استفاده از حلقه for اول، اعداد 0 تا 4 را پیمایش میکنیم. این پیمایش بخاطر آن است که در بیشترین حالت ۵ ستاره چاپ شده است.
- برای هر عدد i، حلقه داخلی for از 0 تا i اجرا میشود.
- در حلقه داخلی، به اندازه i «ستاره» (*) چاپ میکنیم.
- بعد از چاپ هر ردیف ستاره، برنامه با دستور print(”) به خط بعد میرود.
در فهرست زیر هم روش کار بخش دوم کد را توضیح دادهایم. این بخش هم از دو حلقه for به صورت تو در تو استفاده کرده است. با کمک بخش دوم کد، قسمت پایین مثلث را رسم میکنیم.
- در حلقه for بیرونی، اعداد 5 تا 1 را به صورت معکوس پیمایش میکنیم.
- در هر پیمایش حقله for بیرونی، حلقه for درونی یک دور کامل اجرا میشود.
- برای هر عدد i در حلقه for درونی به تعداد i ستاره * چاپ میکنیم.
- بعد از چاپ هر ردیف ستاره، با دستور print(”) به خط بعد میرویم.

بعد از اجرای کدهای بالا خروجی زیر در کنسول پایتون نمایش داده میشود.
* * * * * * * * * * * * * * * * * * * * * * * * *
تمرین ۲۳: شمردن تعداد اعداد زوج و فرد در تاپل
در این تمرین پایتون مقدماتی با جواب، تاپلی از اعداد داده شده است. در سوال خواسته شده که تعداد اعداد زوج و فرد موجود در تاپل را بشماریم. اعداد درون این تاپل میتوانند منظم یا غیرمنظم باشند.
بعد از اجرای کدهای بالا خروجی زیر در کنسول پایتون نمایش داده میشود.
Number of even numbers : 4 Number of odd numbers : 5
در ادامه کدهای نوشته شده در کادر بالا را توضیح دادهایم.
- ابتدا تاپلی به نام numbers شامل اعداد 1 تا 9 تعریف کردیم.
- سپس دو متغیر count_odd و count_even را برای شمارش اعداد فرد و زوج ساختیم. این متغیرها را با 0 مقداردهی میکنیم.
- حلقه for روی هر عدد x در numbers اجرا میشود.
- از شرط not x % 2 برای تشخیص اعداد زوج استفاده میکنیم. روش کار شرط به این صورت است که کد x % 2 باقیمانده هر عدد را بر 2 محاسبه میکند. اگر مقدار باقیمانده 0 باشد، یعنی عدد زوج است. اما 0 در پایتون برابر با False در نظر گرفته میشود. بنابراین عبارت منطقی not به ابتدا آن اضافه شده است. این عبارت False را به True تبدیل میکند. بنابراین اگر مقدار شرط True ارزیابی شود، یعنی عدد زوج است. در نتیجه count_even یک واحد زیاد میشود.
- اگر زوج نبود، پس فرد است و count_odd یک واحد افزایش مییابد.
- در آخر هم تعداد اعداد زوج و فرد با تابع print() چاپ میشوند.
تمرین ۲۴: چاپ کردن تمام اعداد از ۰ تا ۶ بهجز ۳ و ۶
این مسئله تمرین سادهای برای یادگیری استفاده از حلقه for و عبارت if در پایتون است. در این مسئله باید تمام اعداد از ۰ تا ۶ را به غیر از ۳ و ۶ چاپ کنیم. برای حل این مسئله از کلمه کلیدی continue استفاده میکنیم.
بعد از اجرای کدهای بالا خروجی زیر در کنسول پایتون نمایش داده میشود.
0 1 2 4 5
روش اجرای کدهای بالا را در فهرست پایین توضیح دادهایم.
- ابتدا حلقهای به شکل for x in range(6) تعریف کردهایم. این عبارت یعنی x به ترتیب تمام مقادیر 0 تا 5 را میگیرد.
- شرط if (x == 3 or x == 6) بررسی میکند آیا x برابر ۳ یا ۶ است یا نه.
- اگر شرط برقرار باشد، با استفاده از کلمه کلیدی continue ادامه اجرای حلقه نادیده گرفته شده و دوباره به خط یک میرویم. در نتیجه کد print() اجرا نمیشود.
- در غیر این صورت مقدار x در خروجی چاپ میشود.

نکته: عدد ۶ اصلا در محدوده بررسی حلقه نیست. زیرا تابع range(6) به معنی 0 تا 5 است.
تمرین ۲۵: ساخت آرایه دوبعدی یا جدول ضرب
در این تمرین از کاربر خواسته شده است که برنامهای برای رسم جدول ضرب بنویسد. این برنامه دو مقدار مختلف m و n را دریافت میکند. از این مقدارها به ترتیب برای رسم ردیف و ستون جدول ضرب استفاده خواهد شد. مقدار هر عنصر از این آرایه دوبعدی، در ستون i و ردیف j برابر با i*j است. توجه کنید که i از صفر شروع شده و تا m-1 به پیش میرود. به همین صورت j هم از 0 شروع شده و تا n-1 ادامه پیدا میکند.
بعد از اجرای کدهای بالا و با فرض دادن عدد 3 برای تعداد ردیفها و 2 برای ستونها خروجی زیر در کنسول پایتون نمایش داده میشود.
Input number of rows: 3<br>Input number of columns: 2<br>[[0, 0], [0, 1], [0, 2]]
مراحل اجرای کدهای بالا را در فهرست پایین توضیح دادهایم.
- ابتدا با نمایش پیغام معنیدار، تعداد ردیفها و ستونها را از کاربر دریافت میکنیم. این مقدارها به ترتیب در متغیرهای row_num و col_num قرار میگیرند.
- سپس با استفاده از تکنیک «List Comprehension» تو در تو، لیست دوبعدی به نام multi_list به اندازه ۲×۳ ایجاد میکنیم. تمام عناصر این لیست را برابر با صفر گذاشتهایم.
- برنامه از دو حلقه تو در تو برای مشخص کردن مقدار خانه multi_list[row][col] استفاده میکند. در هر پیمایش، for درونی، مقدار این خانه را برابر با row * col قرار میدهد.
- در پایان هم برنامه، جدول ساخته شده یا آرایه دوبعدی را در خروجی چاپ میکند.
تمرین ۲۶: بررسی معتبر بودن کلمه عبور
در این تمرین باید برنامهای برای بررسی اعتبار کلمههای عبور با پایتونت بنویسیم. کاربران کلمههای عبور مختلفی را برای خود انتخاب میکنند. اما برای حفظ امنیت، این کلمهها باید شرطهای خاصی را رعایت کنند. این شرطها را در پایین نوشتهایم.
- حداقل یک حرف الفبا بین «a» تا «z» کوچک و یک حرف الفبا بین «A» تا «Z» بزرگ وجود داشته باشد.
- حداقل یک رقم از 0 تا 9 وجود داشته باشد.
- حداقل از یکی از کاراکترهای $ و # و @ در کلمه عبور، استفاده شود.
- حداقل اندازه قابل قبول برای کلمه عبور ۶ کاراکتر است.
- کلمه عبور نباید بیشتر از ۱۶ کاراکتر داشته باشد.

در کادر زیر، پاسخ این تمرین را برنامه نویسی کردهایم.
بعد از اجرای کدهای بالا و با فرض اینکه کاربر عبارت W3r@100a را وارد کرده باشد، خروجی زیر در کنسول پایتون نمایش داده میشود.
Input your passwordW3r@100a Valid Password
برای حل این مسئله از عبارات منظم یا Regex-ها در پایتون استفاده شده است. روش کار کدهای بالا را در فهرست پایین توضیح دادهایم.
- ابتدا ماژول re را برای کارکردن با Regex-ها به محیط برنامه نویسی وارد میکنیم.
- سپس رمز عبور را از کاربر میگیریم و در متغیر p ذخیره میکنیم.
- متغیر x را برابر با True قرار میدهیم. از این متغیر در حلقه while استفاده میکنیم.
- در حلقه while، رمز عبور را بررسی میکنیم. برای بررسی شرایط مختلف از ساختار if-elif-else استفاده کردهایم.
- با کمک بلوکهای if-elif-else تمام شرایط لازم را همراه با نبودن فضای خالی یا «Space» در کلمه عبور بررسی میکنیم.
- اگر همهی شرطها درست بودند، پیام “Valid Password” چاپ میشود.
- سپس مقدار x = False میشود تا برنامه از حلقه خارج شود.
- اگر حتی یکی از شرطها برقرار نبود، حلقه break شده و پیام “Not a Valid Password” در خروجی چاپ میشود.
جمعبندی
زبان برنامه نویسی پایتون یکی از ابزارهای ساخت دنیای مدرن است. زیرا این زبان در حوزههایی مانند هوش مصنوعی، یادگیری ماشین، علم داده، اینترنت اشیا و غیره به کار برده میشود. روزبهروز کاربرد پایتون در صنعت گستردهتر میشود. به همین دلیل افراد زیادی به دنبال یاد گرفتن پایتون هستند. یادگیری پایتون در مراحل اولیه ساده است. زیرا سینتکس کوتا و بسیار خوانایی دارد. در این مطلب از مجله فرادرس چند تمرین پایتون مقدماتی با جواب را بررسی کردهایم. هر کدام از تمرینها را میتوان به روشهای مختلفی حل کرد. بررسی این روشها به افزایش مهارت برنامه نویسی افراد کمک میکند.
تمرینهای بررسی شده، مفاهیم متنوعی را بررسی کردهاند. برای مثال میتوان به پرکاربردترین ساختارهای ذخیره داده مانند لیست، تاپل، دیکشنری و آرایه اشاره کرد. برای کار با عبارتهای شرطی و حلقهها هم چند تمرین دیگر تعریف کردهایم. این تمرینها از عبارت if و حلقههای پایتون به صورت ترکیبی استفاده میکنند. بنابراین بررسی آنها میتواند باعث یادگیری بهتر مطلب شود.
source