
پاسخ در ادامه مطلب


پاسخ در ادامه مطلب

پاسخ در ادامه مطلب
کلمه ای پالیندرم می باشد که خود کلمه با برعکس شده ی آن کلمه برابر باشد. مثل Ava و Ahhha
در این تمرین یک کلمه را به تابعی ارسال کرده و تابع میگوید این کلمه پالیندورم هست یا نه!
در این پروژه ، استفاده شده از : #پایتون

همیشه در حال یادگیری و بدرود
سعید دامغانیان - رادیو صدای ققنوس
در این پروژه یک بازی گرافیکی با استفاده از Tkinter در پایتون ساخته ایم. این بازی تیک تاک توئ یا همان دوز است.
در این پروژه ، استفاده شده از : #پایتون #تی_کی_اینتر
همیشه در حال یادگیری و بدرود
سعید دامغانیان - رادیو صدای ققنوس

سورس فایلها را با کلیک روی دگمه زیر دانلود نمایید.
تعریف : عدد خشن عددی است که به مجموع ارقامش بخش پذیر باشد . مثلا 252 یک عدد خشن است زیرا 9=2+5+2 و عدد 252 هم بر 9 بخش پذیر است.
1- برنامه ای بنویسید که یک عدد از ورودی بگیرد و اعلام کند عدد خشن است یا خیر.
2- برنامه ای بنویسید که یک عدد از ورودی گرفته و همه اعداد خشن از 1 تا خود آن عدد را در خروجی چاپ کند. مثلا اگر کاربر عدد 100 را وارد کرد برنامه شما باید اعداد خشن از 1 تا 100 را به ترتیب چاپ کند.
کد جواب مسئله اول

کد جواب مسئله دوم

همیشه در حال یادگیری و بدرود
سعید دامغانیان - رادیو صدای ققنوس
سورس فایلها را با کلیک روی دگمه زیر دانلود نمایید.
کار با پایگاه داده مونگو دیبی در پایتون
برای استفاده از مونگو در پایتون باید کامند زیر را اجرا کنید:
python -m pip install pymongo
برنامه ای نوشته شده که با اجرای آن 5 گزینه نمایش داده میشود.
- 1) درج اطلاعات در پایگاه داده (که شامل نام و سن و آدرس و شماره همراه است)
- 2) نمایش کل اطلاعات در کالکشن
- 3) حذف یک رکورد که بر اساس وارد کردن نام شخص است.
- 4) حذف کل کالکشن
- 5) خروج
در این پروژه ، استفاده شده از : #پایتون #مونگو_دیبی



یک نمونه از خروجی را در تصویر زیر مشاهده میکنید:

همیشه در حال یادگیری و بدرود
سعید دامغانیان - رادیو صدای ققنوس
سورس فایلها را با کلیک روی دگمه زیر دانلود نمایید.
پروژه ای با استفاده از پایتون و sqlite3 ساخته ایم که یک دیتابیس تشکیل داده و در آن یک جدول با نام customers تشکیل داده که رکوردهای آن شامل سه فیلد نام و نام خانوادگی و ایمیل می باشد. سپس به صورت مکرر 5 گزینه به کاربر نشان داده و از کاربر میخواهد یکی از آنها را انتخاب کند. این گزینه ها به شرح ذیل است
- گزینه 1 ، تمام رکوردهای موجود در جدول دیتابیس را نمایش میدهد.
- گزینه2 ، اطلاعات یک مشتری (نام ، فامیلی و ایمیل) را از کاربر گرفته و رکورد متناظر را در جدول درج میکند.
- گزینه3 ، یک آی دی (عدد) از کاربر گرفته و رکورد متناظر با آن را حذف میکند.
- گزینه4 ، آدرس ایمیل یک رکورد را گرفته و آن رکورد را به صورت کامل نشان میدهد
- گزینه5 ، از برنامه خارج میشوید.
توجه : اگر برای مرتبه اول برنامه را اجرا میکنید گزینه 1 را نزنید چون دیتابیس خالی است. ابتدا با گزینه2 تعدادی رکورد به جدول پایگاه داده افزوده و سپس از گزینه1 استفاده کنید.
چلنج برنامه نویسی: اگر در این برنامه گزینه 3و4 را انتخاب کرده و یک ایمیل و یا آی دی ای وارد کنید که در جدول موجود نباشد ، اررور داده و برنامه متوقف میشود. در این چالش از شما دوستان میخواهم که با استفاده از بلوکهای try و except برنامه را طوری تغییر دهید که خطا باعث توقف برنامه نشده و پیغام مناسبی را به کاربر نمایش دهد. مثلا چاپ کند : آی دی یا ایمیل وارد شده در جدول وجود ندارد.
در این پروژه ، استفاده شده از : #پایتون و #Sqlite3
یک نمونه خروجی را در تصویر زیر مشاهده میکنید:

همیشه در حال یادگیری و بدرود
سعید دامغانیان - رادیو صدای ققنوس
سورس فایلها را با کلیک روی دگمه زیر دانلود نمایید.
میدانیم فاصله بین دو نقطه B(x1, y1) و A(x0, y0) از رابطه زیر بدست می آید:

میخواهیم کلاسی به نام Point ایجاد کنیم که شامل متودهای زیر است.
- یک متود به نام Show که مختصات یک نقطه را چاپ خواهد کرد.
- یک متود به نام Move که مختصات یک نقطه را تغییر میدهد
- و یک متود به نام Dist که فاصله بین دو نقطه را نمایش میدهد.
سپس از این کلاس دو شی میگیریم و فاصله آن دو نقطه را با استفاده از متودهای کلاس فوق محاسبه کرده و نمایش خواهیم داد.
در این پروژه ، استفاده شده از : #پایتون
خروجی را در تصویر زیر مشاهده میکنید:
همیشه در حال یادگیری و بدرود
سعید دامغانیان - رادیو صدای ققنوس
سورس فایلها را با کلیک روی دگمه زیر دانلود نمایید.
در این پروژه پایتون ، یک عدد زوج از ورودی گرفته میشود (که تعداد سطرها است) و سپس یک طرح پروانهای با کاراکتر * در کنسول چاپ میکند. نمونه ای از خروجی ضمیمه شده است.
در این پروژه ، استفاده شده از : #پایتون
همیشه در حال یادگیری و بدرود
سعید دامغانیان - رادیو صدای ققنوس

نمونه ای از خروجی با داده ورودی 12:

در این پروژه ساده پایتون یک عدد از ورودی خوانده شده و فاکتوریل آن محسابه شده و نمایش داده خواهد شد.
در این پروژه ، استفاده شده از : #پایتون
همیشه در حال یادگیری و بدرود
سعید دامغانیان - رادیو صدای ققنوس

در این پروژه شما باید اسم یک میوه را حدس بزنید . در هر مرحله یک کاراکتر وارد میکنید و اگر این کاراکتر درست باشد جایگاه آن در کلمه مشخص میشود. این پروژه غیر گرافیکی می باشد.
زبانهای استفاده شده در این پروژه : پایتون
همیشه در حال یادگیری و بدرود
سعید دامغانیان - رادیو صدای ققنوس

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

در پایتون عملگر AND اولویت بیشتری نسبت به OR دارد. بنابراین اول AND ارزیابی میشود. (b و c که AND آنها false است. سپس با a که true است OR میشود که حاصل True می باشد. پس خروجی قطعه کد بالا GEEKSFORGEEKS می باشد.

در پایتون اولویت NOT از AND بیشتر است. و اولویت AND هم همانطوریکه در مثال قبل گفتیم از OR بیشتر است. پس اول NOT بعد AND و سپس OR ارزیابی میشوند. بنابراین if اول و elif دوم false شده و خروجی برابر 3 می باشد.
پروژهای نوشتیم که در ورودی اسم یک فایل متنی را میگیرد ( به عنوان مثال test.txt )
و در خروجی درصد به کار رفتن هر یک از کاراکترهای a تا z را در این فایل به همراه متن خود فایل را به خروجی می برد.
کد این پروژه در تصویر ذیل آورده شده است.

یک نمونه خروجی برنامه در ذیل آورده شده است.

فایل پروژه در لینک زیر قابل دریافت است:
برنامه ای با پایتون بنویسید که یک فایل ساخته و اطلاعات دانشجویان شامل نام و نام خانوادگی و سن و ایمیل آنها را از ورودی بخواند در فایل ذخیره کنید:
نکات زیر را در نظر بگیرید:
1- نام فایل test.txt است. فایل را در محل برنامه بسازید.
2- در هر مرحله برنامه مکررا اجرا میشود برای خروج از برنامه پیغام پرسشی نمایش داده میشود و از کاربر میخواهد اگر قصد خروج دارد کاراکتر y را وارد کند.
3- پس از یکبار اجرا برنامه باید اطلاعات جدید را در انتهای فایل بنویسد و محتویات قبلی نباید از بین برود!
نمونه فایل را مشاهده میکنید:

موفق و موید باشید
سعید دامغانیان ( رادیو صدای ققنوس )
یک فایل پایتون ایجاد کنید.
کلاسی به نام دانشجو تعریف کنید که یک متود سازنده داشته باشد و دو متود دیگر به نامهای getinfo و showinfo که به ترتیب جهت گرفتن اطلاعات یک دانشجو و جهت نمایش اطلاعات دانشجو استفاده میشود. سپس در قسم تست برنامه از کلاس آبجکت گرفته و اطلاعات دانشجو (نام - نام خانوادگی -- شماره دانشجویی - سن و ایمیل ) را گرفته و نمایش دهید.
برنامه پیوسته اجرا میشود. جهت خروج باید عبارت ' no ' را وارد کرد تا از برنامه خارج شود.

موفق و موید باشید
سعید دامغانیان ( رادیو صدای ققنوس )
تمرین برنامه نویسی پایتون #وراثت
1) کلاسی به نام shape بسازید که یک متود سازنده دارد که نام شکل را میگیرد و آبجکت آن را میسازد. متود __repr__ هم برای ایم کلاس تعریف کنید که نام شکل ساخته شده را در خروجی چاپ کند.
- 2) کلاسی به نام مستطیل بسازید که از کلاس shape ارث بری کند و یک متود سازنده داشته باشد که طول و عرض مستطیل را دریافت و آبجکتش را بسازد. برای این کلاس دو متود محاسبه مساحت و محیط تعریف نمائید.-
- 3) کلاسی به نام دایره بسازید که از کلاس shape ارث بری کند و یک متود سازنده داشته باشد که شعاع دایره را دریافت و آبجکتش را بسازد. برای این کلاس دو متود محاسبه مساحت و محیط تعریف نمائید.
- 4) کلاسی به نام مربع تعریف کنید که هم از کلاس مستطیل و هم از کلاس shape ارثبری کند (میدانیم هر مربع یک مستطیل هم هست) برای آن یک متود سازنده بگذارید که با دریافت طول مربع آبجکتش را بسازد. همچنین برای این کلاس دو متود محاسبه محیط و مساحت بگذارید که این متودها خودشان از متودهای محاسبه محیط و مساحت کلاس مستطیل استفاده نمایند. (آنها را فراخوانی کنند و کافیست که مقادیر طول و عرض مستطیل را برابر هم و برابر با مقدار طول مربع قرار دهیم)
- 5) در main برنامه با دادن مقادیر طول و عرض و شعاع آبجکتهای آن کلاسها را ایجاد نموده و خروجی بگیرید(مقادیر طول و عرض و شعاع و . .. را از کاربر بگیرید!)
برنامه ای شامل یک کلاس بنویسید که اطلاعات آن به قرار زیر است :
صفات : نام و نام خانوادگی دانشجویان - سن - ایمیل و آدرس
متودها :
یک متود سازنده که نام و نام خانوادگی دانشجوهای نمونه را به عنوان آرگومان ورودی دریافت میکند!
یک دکوراتور بنویسید که نام دانشجو را بگیرد و در خروجی نام دانشجو را چاپ نموده و به وی سلام کند
یک دکوراتور دیگر بنویسید که تاریخ امروز را (که یک صفت دیگر کلاس است) مستقیماً چاپ نماید!
در برنامه اصلی مشخصات دانشجو را از ورودی بگیرید و سپس یک نمونه (آبجکت) با این مشخصات ایجاد نموده و موارد خواسته شده را در کنسول چاپ نمایید.
صورت مساله : کلاسی به نام دانشجو بسازید که حاوی صفات (نام و نام خانوادگی و شماره دانشجویی و سن و آدرس و ایمیل دانشجو) باشد و دو متود داشته باشد که:
متود اول متود سازنده میباشد (این متود نام و نام خانوادگی دانشجو را در ورودی دریافت و آبجکت را میسازد)
متود دوم : اطلاعات دانشجو را نمایش میدهد.
برای تریس کردن برنامه دو شی از کلاس بگیرید و بصورت دستی مقداردهی صفات کرده و خروجی را نمایش دهید . و یک شی جدید بسازید که اطلاعاتش را از ورودی بگیرد و سپس برای این شی جدید هم متود نمایش دهنده اطلاعات را فراخوانده و خروجی را چاپ نمایید.
موفق باشید - ( سعید دامغانیان - رادیو صدای ققنوس)
مثالی ساده از ماژولها در پایتون
ماژول چیز بیشتری از یک فایل پایتون نیست. ما در این مثال دو فایل پایتون با نامهای دایره و ستطیل ساختهایم که در آن محیط و مساحت دایره و مستطیل را محاسبه و برمیگرداند. از این دو فایل به عنوان یک ماژول استفاده نموده و آنها را در یک فایل پایتون دیگر با نام main.py ایمپورت و استفاده نموده ایم.
فایلها در یک پوشه زیپ ضمیمه شده است.
موفق باشید - سعید دامغانیان (رادیو صدای ققنوس)
پروژه ماشین حساب ساده با #پایتون (این ماشین حساب ساده فقط عمل جمع را انجام میدهد که به صورت گرافیکی با استفاده از tkinter طراحی شده است.) را در پست قبلی دیدید.
اکنون با کاملتر کردن همان پروژه نسخه جدیدی را ارائه دادیم که 4 عمل اصلی را انجام خواهد داد...
پرسشها و نظرات خود را با من به آدرس t.me/dmn200 در میان بگذارید.
متشکرم - (سعید دامغانیان)

🌍 با استفاده از لایبرری sqlite3 که آن را به فایل پایتون import نموده ایم ، یک database می سازیم و به کمک توابعی عملیات درج و حذف و آپدیت و نمایش دیتابیس را بر روی آن اعمال میکنیم.
🌍 فرض کنید در این دیتابیس میخواهیم جدولی داشته باشیم که نام و سن چند نفر را ذخیره و بازیابی و حذف و ... کند.
🌍 در درسهای بعد همین عملیات را از طریق متودها و کلاس در پایتون انجام خواهیم داد.
🌍 توجه| در هر مرحله یک متن فیدبک به کنسول پایتون الحاق نموده ایم که مراحل کار را نمایش دهد :



فایل پایتون همین پروژه را از طریق لینک ذیل دانلود کنید:
موفق و موید باشید
#سعید_دامغانیان | #پایتون
می خواهیم کدی بنویسیم که برنامه پایتون یک لیست از ورودی بگیرد و آن را معکوس کرده و نمایش دهد. یعنی مثلاً ورودی و خروجیهایش اینگونه باشد :
Input : list = [10, 11, 12, 13, 14, 15] Output : [15, 14, 13, 12, 11, 10] Input : list = [4, 5, 6, 7, 8, 9] Output : [9, 8, 7, 6, 5, 4]
روش اول :

روش دوم:

روش سوم:

موفق باشید - سعید دامغانیان
یک کلاس کلی تعریف کردیم به نام AnimalAction
این کلاس 4 متود یا (تابع عضو) دارد. که شامل صدای کوئک(صدای اردک) ، ویژگیها ، بارک (مخصوص سگ) و فور(یک ویژگی دیگر) می باشد. این 4 ویژگی را به عنوان 4 متود در نظر گرفتیم. این متودها مقادیری را پرینت میکنند. مثلاً اعلان میکنند که اردک کوئک میکند. و ...
سپس 3 کلاس دیگر تعریف کردیم که از این کلاس ارث بری میکنند. که جزئیاتش را در کدها می بینید...
سپس در تابع Main از کلاسهایمان شی تعریف کردیم و توابع عضو کلاس را فراخوانی نموده ایم...
حتماً کدها را در یک آی دی ای نوشته و اجرا کنید و خروجی را ببینید!




حالا همان کد بالا را به شیوه MVC یا Model - View - Control باز نویسی کردیم.




مباحث برنامه نویسی شی گرا و وراثت و چندریختی ، جزء مهمترین مباحث برنامه نویسی پایتون می باشد. پیشنهاد میکنم ویدیوی آموزشی من (سعید دامغانیان) که طی چند روز آینده در کانال یوتیوب خودم به آدرس (Saeed Damghanian ) قرار خواهم داد حتماً ببینید و پرسشها و نظرات خودتان را همانجا مطرح نمایید.
خروجی کدهای بالا را در تصویر زیر برایتان درج نمودم!

هدف از این تمرین : آشنایی اولیه با ساختار کلاس و سازنده کلاس در پایتون
در خط 4 برنامه با استفاده از کلمه کلیدی Class یک کلاس به نام فیبوناچی ساختیم. سپس با استفاده از ساختار __init__ سازنده ی کلاس را ساختیم که دو پارامتر a,b میگیرد. دقت کنید که self پارامتر نیست. یک کلمه کلیدی است که در تعریف متودها و سازنده ی کلاس به کار میرود. صرفاً جهت اعلان این مسئله به برنامه که از همین a,b ای استفاده کردیم که در خود کلاس تعریف شده (نه در جایی دیگر مثلاً در خارج از بدنه کلاس (دقت کنید که ممکن است در خارج از کلاس هم متغیرهایی با همین نامهای a,b تعریف کرده باشیم. پس از کلمه self جهت این مسئله استفاده میکنیم که به مفسر پایتون بفهمانیم که منظور ما همین a,b ی موجود در داخل کلاس است.))
یادآوری: در زبان جاوا سازنده متودی بود همنام با نام کلاس جهت مقداردهی به فیلدها استفاده میشد. اینجا هم دقیقاً همان است و همان کاربرد را دارد و فقط سینتکس تعریف آن متفاوت است.
در خط 9 در بدنه تابع یک متود(جنراتور) تعریف کردیم که جهت چاپ اعداد فیبوناچی به کار گرفته میشود.
در خط 14 از کلاس فیبوناچی شی گرفتیم و چون سازنده ما دو پارامتر میپذیرد ، در این جا دو عدد اول سری فیبوناچی یعنی 0 و 1 را به متود کلاس فرستاده ایم. و حلقه فور کلاس هم اعداد فیبوناچی که از 200 کوچکتر هستند را در خروجی چاپ میکند. پس خروجی اعداد 0,1,1,2,3,5,8,13,21,... می باشند

موفق باشید #سعید_دامغانیان
با استفاده از یک تابع و یک جنراتور و یک حلقه فور ، برنامه ای به زبان پایتون نوشتم که اعداد اول مابین 1 تا 300 را در خروجی چاپ میکند. قبلاً برنامه ای نوشته بودم که عددی را از ورودی میگرفت و اعلام می کرد عدد مذکور اول هست یا نه!
موفق باشید - #سعید_دامغانیان
