متن برنامه تبدیل عدد ده‌دهی به عدد دودویی غیر بازگشتی پایتون پیتون ـ p33

تبدیل عدد دهدی به دو دویی

همانطور که در جریانید تبدیل اعداد ده‌دهی به دودویی נ به عبارت دیگر تبدیل عدد در مبنای ده به مبنای دو ׆ یکی از مهم‌ترین و کاربردی‌ترین اعمالی است که در دنیای کامپیوتر استفاده می‌شود زیرا تمام ارقام در کامپیوتر باید دودویی ذخیره شوند اما کاربران از اعداد ده‌دهی استفاده می کنند ܂

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

در مثال بالا عدد ده‌دهی ۱۵۶ به عدد دودویی ۱۱۰۰۱۱۱۰۰ تبدیل شده است ܂

نکته ׃ در کد بالا از کد به صورت کلی به دو قسمت تبدیل شده اگر عدد منفی باشد از تکه اول کد استفاده می‌شود و در ابتدا منفی برداشته شده و در انتها عدد منفی برگردانده می‌شود و گرنه از تکه دوم استفاده می‌شود ܂

متن برنامه پیدا کردن ۲۰ کلمه پر تکرار در پرونده پایتون پیتون ـ p32

top 20 words python code

برای پیدا کردن کلمات پر تکرار ابتدا باید فایل را بخوانیم و داخل یک لیست(فهرست) بریزیم سپس مشابه برنامه حذف اعضای تکراری لیست یک دیکشنری می‌سازیم که کلید(‌key) آن کلمات و مقدار(value) آن‌ها تعداد تکرار آن هاست حالا روی فهرست کلمات حرکت می‌کنیم هر درصورتی که کلمه درون دیکشنری وجود داشت به مقدار آن یکی اضافه می‌کنیم و اگر وجود نداشت. آن کلمه را با مقدار یک درون دیکشنری قرار می‌دهیم.

توضیح درمورد خط دو تا پنج:

ـ خط ۲ فایل را باز  می‌کند.

ـ خط ۳ هر خط فایل را درون یک لیست می‌ریزد و لیست‌های به دست آمده را درون یک لیست دیگر قرار می‌دهد.

ـ خط ۴ همه‌ی لیست‌ها(که هر لیست یک خط است) را تبدیل به یک رشته می‌کند(همه‌ی فایل درون یک رشته قرار می‌گیرد).

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

print top20 words of file python code

متن برنامه رمزگشایی پیام‌های سزار به زبان پایتون ـ پیتون p31

رمزنگاری سزار

فرض کنید طبق معمول دارید در اینترنت چرخ می‌زنید و عنوان یک برنامه به نظرات جالب می‌آید נ  נ ماشین زمان ׆ ׆ برنامه را دانلود و روی لپتاپ خود نصب می‌کنید ، بعد از کمی برانداز کردن برنامه دکمه נ  נ مرا به زمان و مکان تصادفی ببر ׆ ׆ توجه شما را جلب می‌کند و به نظرات شوخی با حالی است ، دکمه را انتخاب می‌کنید و بعد از پیچ خوردن در مکان ـ زمان ناگهان خود را ۴۴ سال قبل از میلاد مسیح در رم و در میان دشمنان ژولیوس سزار میابید ، به طرز عجیبی هنوز لپتات در دست شماست و چون موقعی که دکمه را فشار داده بودید روی صندلی بودید و آنجا صندلی وجود ندارد ، با ما تحت زمین می‌خورید 😀

وقتی متوجه می‌شوید دشمنان سزار در حال حمله به سمت شما هستند سعی می‌کنید همان دکمه נ  נ مرا به زمان و مکان تصادفی ببر ׆ ׆  را فشار دهید اما دکمه کار نمی‌کند و پیغام می‌دهد که لطفا رجیستر برنامه را خریداری کنید یا یک روز صبر نمایید יִ

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

بنابراین رئیس مخالفان سزار جلوی شما یک نامه رمزنگاری شده از سزار قرار می‌دهد و می‌گوید آن را رمزگشایی کن ܂

همانطور که از قبل می‌دانید شیوه رمزنگاری سزار به این شکل بود که به جای هر حرف از سه حرف جلو تر در نامه استفاده می‌کرد ׃

به طور مثال به متن زیر توجه کنید ׃

به همین روش و با نوشتن نامه روی کاغذ دانه دانه حروف را به حالت قبلی بر می‌گردانید و نامه رمزنگاری می‌شود ، مفهوم نامه برای شما مهم نیست شما می‌خواهید به خانه برگردید اما تازه رئیس مخالفان سزار از شما خوشش آمده و می‌خواهد شما را آن جا نگه دارد تا همه نامه ها را و حتی نامه‌های جدیدی که به دست آن‌ها می‌رسد رمزگشایی کنید 😐

فکر به ذهن شما می‌رسد می‌توانید با یک کد پایتون کار رمزنگاری را به لپتاپتان بسپارید و به همین بهانه داخل ماشین زمان بشوید و راهی برای فرار از آنجا بیابید ܂

دشمنان سزار لپتاپ را به شما می‌دهند اما به نگهبان شما می‌گویند که اگر به برنامه ماشین زمان رفت کارش را تمام کن יִ

پس راهی به جز نوشتن کد ندارید شاید با نوشتن آن بتوانید راه فراری بیابید ، برنامه بسیار ساده است کافی است یک فایل متنی را بخوانید و دانه دانه کاراکترها را به کاراکتر نظیر برگردانید ׃

decoding caesar messages python program code

برنامه را در مقابل رئیس شورشیان با استفاده از چند نامه سزار آزمایش می‌کنید و نتایج برای او بسیار جالب است و او در پوستش نمی‌گنجد ، زمان را مناسب می‌بینید تا به ماشین زمان بروید یک روز گذشته است و می‌توانید از دکمه נ  נ مرا به زمان و مکان تصادفی ببر ׆ ׆ کلیک می‌کنید و بعد از چرخش در مکان ـ زمان اینبار خود را در انگلستان و در جنگ جهانی دوم میابید ، باز جای خوشحالیست احتمالا اگر یک بار دیگر همان دکمه را فشار دهید به زمانی نزدیک زمان حال خواهید آمد ܂

در حال واکاوی اطراف هستید که ناگهان دستگیر می‌شوید اینبار باید انیگما را رمزگشایی کنید 😀

متن برنامه نوشتن جدول ضرب در یک پرونده به زبان پایتون ـ پیتون p30

برنامه ذخیره جدول ضرب در فایل

قبلا برنامه نمایش جدول ضرب در پایتون را برای شما انتشار داده بودم حالا می‌خواهیم کدی بنویسیم که یک رشته حاوی جدول ضرب ، با اندازه دلخواه کاربر تولید کند و آن را درون فایلی بنویسد بنابر این با فراخوانی تابع این برنامه خروجی در نمایشگر شما تولید نمی‌شود و برای دیدن خروجی باید به فایل נ معادل فارسی فایل ׃ پرونجا יִ ׆ مراجعه نمایید ܂

write multiplication table to file python program code

 

 

آیا همه‌ی پرانتزها آغوشی پیدا می‌کنند؟ متن برنامه به زبان پایتون p29

تست پرانتز

از عنوان خیلی تعجب نکنید صرفا جهت تنوع و فرار از عناوین رسمی همچون عناوین زیر بود ׃

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

برنامه به دست آوردن عدد نپر با استفاده از تابع غیر بازگشتی به زبان پایتون P12

عنوان اصلی این است ׃ برنامه آزمایش پرانتزها נ به فارسی ׃ کمانک ׆

این برنامه باید مشخص کند که آیا پرانتزها در یک متن درست به کار رفته‌اند یا خیر ، پس به دنبال استفاده اشتباه از پرانتزها می‌گردیم اگر اشتباهی یافت نشد در آن صورت پرانتزها در متن درست به کار رفته‌اند ܂

با یک تقسیم بندی می‌توانیم بگوییم که به صورت کلی دو حالت برای نقض درستی استفاده از پرانتزها وجود دارد ܂

حالت اول ـ تعداد پرانتز بازها با پرانتز بسته‌ها برابر نباشد ׃

())

تعداد نابرابر پرانتزها

حالت دوم ـ تعداد پرانتز باز و بسته‌ها با هم برابر باشند ولی پرانتزها پشت به هم باشند ׃

)(

پرانتزها پشت به هم

در صورتی که این دو حالت اتفاق نیوفتد پرانتزها به درستی به کار رفته‌اند ضمنا ورودی تابع این برنامه آدرس یک فایل متنی است و چند خط اول برنامه به خواندن رشته از فایل اختصاص دارد ܂

parenthesis test python program code

متن برنامه شمارش تعداد کلمات یک فایل متنی به زبان پایتون ـ پیتون P28

count_words_of_text_file_python

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

به مثال زیر توجه کنید

دانشگاه قم تفکیک است

😀

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

به این نکته هم توجه کنید که در این برنامه ما ابتدا کل فایل را می‌خوانیم و سپس خطوط را به هم متصل می‌کنیم ، کد واضح است خودتان ملاحضه بفرمایید

count lines , words , characters of text file python program code

 

متن برنامه حذف اعضای تکراری یک فهرست به زبان پایتون ـ پیتون P27

duplicates

در این برنامه با استفاده از دیکشنری یا همان فرهنگ لغت در پایتون می‌خواهیم موارد تکراری یک فهرست را حذف کنیم

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

remove duplicates from list using dictionary python program code

 

خواندن رشته فارسی از فایل اکسل و نوشتن در فایل متنی

python_xlrd_rtl_file

برنامه زیر یک سلول از فایل اکسل که یونی کد است ـ به فارسی صفحه گسترده ـ را می‌خواند و آن عبارت را داخل یک فایل متنی ذخیره می‌کند

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

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

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

https://pypi.python.org/pypi/xlrd

حل مسئله فروشنده دوره‌گرد با زبان پایتون

حل مسئله فروشنده دوره‌گرد با استفاده از الگوریتم نزدیکترین همسایه

مسئله فروشنده دوره‌گرد یکی از مسائل متداول درس هوش مصنوعی و بسیار شبیه مسئله گردشگر منهتن می‌باشد ܂

فروشنده دوره‌گرد در تهران
فروشنده دوره‌گرد נ بستنی فروش ׆ ـ بلوار کشاورز ـ پارک لاله ـ عکاس ׃ امید صالحی

صورت مسئله بسیار ساده است فروشنده‌ی دوره‌گرد قصد دارد به همه‌ی شهرها سر بزند و محصولاتش را بفروشد به گونه‌ای که از هر شهر تنها یک بار رد شود ܂

travelling salesman

یکی از الگوریتم‌های حل مسئله نزدیک‌ترین همسایه نام دارد به دلخواه یک شهر را انتخاب می‌کنیم و به نزدیک‌ترین شهر مجاور می‌رویم آنقدر این کار را تکرار می‌کنیم تا تمام شهرها را سیاحت کنیم ܂ فاصله بین شهرها را با استفاده از ماتریس مجاورت نشان می‌دهیم ؛

travelling salesman problem nearest neighbor python code

 

متن برنامه تعیین آناگرام بودن دو رشته به زبان پایتون ـ پیتون P26

برنامه تعیین آناگرام بودن دو رشته

برنامه تعیین آناگرام بودن دو رشته

منظور از آناگرام بودن دو رشته این است که ما بتوانیم با جا به جا کردن حروف یک رشته ، رشته دیگر را بسازیم مثل ׃

رشته و ترشه

رایانه و یارانه

سوریه و روسیه

cinema و iceman

silent و listen

mary و army

الگوریتم برنامه به این صورت است که ما دو دیکشنری برای هر رشته ایجاد می‌کنیم و تعداد تکرار هر حرف در هر رشته را در دیکشنری ثبت می‌کنیم با توجه به این که در دیکشنری ترتیب اهمیت ندارد اگر دو دیکشنری با یکدیگر یکسان باشند دو کلمه ما آناگرام هستند در غیر اینصورت آناگرام نیستند برای نمونه به دیکشنری حروف کلمات زیر دقت کنید ׃

cinema

{c:1 , i:1 , n:1 , e:1 , m:1 , a:1}

iceman

{i:1 , c:1 , e:1 , m:1 , a:1 , n:1}

دو دیکشنری یکسان هستند در نتیجه حروف و تعداد تکرار آن‌ها در دو رشته یکسان است و آناگرام هستند ܂

is anagram ? python program code

برنامه ساختن مستطیل با ستاره در پایتون

کد پایتون مستطیل ستاره‌ای

یکی از برنامه‌های تمرینی خوب و ساده ترسیم اشکال مختلف با ستاره است برنامه زیر مستطیل با طول و عرض دلخواه را با ستاره برای شما ترسیم می‌کند

مثلا اگر ورودی‌های ۲ و ۳ را بدهید جواب شکل زیر خواهد بود

***

***

python star rectangular

متن برنامه ׃

 

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

آیا فهرست مرتب است ؟

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

به گمانم این برنامه از تکالیفی بود که نتوانست در نظام نمره‌دهی استاد رضویان ـ دانشگاه قم نمره کامل را بگیرد چون این برنامه تابع سورت را فرا می‌خواند، اگر فهرست נ لیست ׆ با مرتب شده‌ی خودش برابر باشد فهرست مرتب است در غیر اینصورت مرتب نیست

is sorted or not? python program code

 

کد تابع آکرمن به زبان پایتون P24

برنامه کد تابع اکرمن به زبان پایتون ـ پیتون

تابع آکرمن از مثال‌های مهم در رایانه و نظریه محاسبات است ـ استاد رضویان می‌گفت که تابع آکرمن از جمله توابعی است که می‌تواند مقدار زیادی از حافظه را در هنگام محاسبه به خود اختصاص دهد، شما می‌توانید با دادن ورودی‌های مختلف به تابع آکرمن این مساله را امتحان کنیدتعریف تابع اکرمن

ـ

ـ

ـ

تابع آکرمن یک تابع چند ضابطه‌ای و بازگشتی است که به صورت بالا تعریف می‌شود

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

ackermann function python code

 

برنامه تابع انتخاب کا از ان به زبان پایتون P23

کد تابع برنامه انتخاب ان از ام ترکیبیات

یکی دیگر از جواب‌های تکالیف درس مبانی رایانه و برنامه‌نویسی ترم اولم در دانشگاه قم

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

منظور از عمل انتخاب در ترکیبیات را با یک مثال ساده توضیح میدهیم

به چند روش می‌توان از بین سه نفر נ کیارش، پرهام، سورنا ׆ دو نفر را انتخاب کرد؟

به سه روش

کیارش و پرهام ـ پرهام و سورنا ـ کیارش و سورنا

الگوریتم کلی این کد اینگونه است که هر ננ انتخاب کا از ان ׆׆ از جمع ננ انتخاب کای منهای یک از ان منهای یک ׆׆ و ננ کا از ان منهای یک ׆׆ تشکیل شده است

تابع این برنامه به صورت بازگشتی عمل می‌کند

combination python function code

 

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

رسم نمودار فراوانی

این کد برنامه با فراخوانی تابع

histogram

اجرا می شود ـ  ورودی‌های این تابع یک لیست اعداد و تعداد بخش‌ها می باشد، مسئله را با یک مثال شرح می دهیم
فرض کنید لیست
[1,10,14,5,7,11,14,15,12,2,3,16]
را داریم و می خواهیم در سه بازه یک تا شش، شش تا یازده و یازده تا شانزده چند عدد وجود دارد و نمودار فراوانی آن را ترسیم کنیم. به این صورت
[ 1 , 6 ) |||| 4
[ 6 , 11 ) || 2
[ 11 , 16 ] |||||| 6

البته کد این برنامه یک مشکل بزرگ در دسته بندی دارد مثلا وقتی بزرگ ترین عدد ۱۵ و کوچک ترین عدد ۱ باشد و بخواهیم اعداد را در سه ستون دسته بندی کنیم اشتباها حاصل چهار ستونه نشان می دهد ـ!ـ اما با اعداد زوج مشکلی ندارد

print histogram python program code

 

برنامه ساخت اعداد تصادفی و آزمایش تصادفی بودن اعداد در پایتون P21

برنامه ساخت اعداد تصادفی به زبان پایتون ـ پیتون

این برنامه از یک تابع به نام isRandomUniform ساخته شده است که ابتدا ده عدد تصادفی بین صفر تا ده هزار در لیست

L‌

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

creat random numbers and test python program code

 

last comments
داود
داود

سلام داش مرتضی . داداش من این برنامه شما رو نیاز دارم ولی به صورت exe که بتونم نصبش کنم…

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

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

در این برنامه ابتدا تعداد اعدادی که قرارند در لیست مرتب شوند از کاربر گرفته می شود و سپس به شیوه ای مشابه مرتب کردن حبابی ـ البته الگوریتمش اختراع خودم هست ـ اعداد مرتب می شوند
مثلا اگر ورودی این باشد
10
[1-, 9.5, 30-, 2, 3, 50, 23, 3, 1, 1]
خروجی
[50, 23, 9.5, 3, 3, 2, 1, 1, 1-, 30-]
خواهد بود

sort a list of numbers python program code

 

برنامه تعیین کننده واروخوانه بودن یک رشته به زبان پایتون P18

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

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

palindrome

به واژه، جمله، عدد یا هر چیز دیگری گفته می‌شود که خواندن آن از چپ به راست یا از راست به چپ کاملاً یکسان باشد. به‌عنوان مثال عدد ۱۵۳۴۳۵۱ یک عدد واروخوانه است، یا واژه

malayalam

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

is palindrome string python code

 

برنامه تعیین کوچک بودن تمام حروف یک رشته به زبان پایتون P17

آیا تمام حروف کوچک هستند؟ تابع پایتون

با استفاده از برنامه زیر می توانید تعیین کنید که آیا تمام حروف یک رشته کوچک هست یا خیر

is lowercase!? python code

 

برنامه جستجوی رشته پیشرفته به زبان پایتون P16

جستجوی رشته پیشرفته به زبان پایتون

این کد جنبه ی آموزشی دارد و کار همین کد را می توان با استفاده از تابع

find

در خود پایتون انجام داد

python code for string find