🤯 اسم خودت رو به صفرو یک تبدیل کن! +Code
تصاویر پروژه
1 تصویر
تا حالا فکر کردی کامپیوتر اسم تو رو چطوری میبینه؟
مثلاً:
Parham
برای ما یک اسم معمولیه؛ اما کامپیوتر در نهایت با دادههای عددی و باینری سر و کار داره.
توی این پروژه با پایتون یک ابزار کوچک میسازیم که میتونه:
اسم انگلیسی → باینری
و حتی:
باینری → اسم انگلیسی
تبدیل کنه. 🚀
📚 آموزش خطبهخط
خط ۱: تابع "text_to_binary" را برای تبدیل متن به باینری تعریف میکند.
خط ۲: یک لیست خالی برای ذخیره باینری هر کاراکتر میسازد.
خط ۴: با استفاده از حلقه "for" تکتک کاراکترهای متن را بررسی میکند.
خط ۵: کاراکتر را با "ord" به عدد تبدیل کرده و سپس با "format" آن را به باینری ۸ بیتی تبدیل میکند.
خط ۷: تمام مقادیر باینری را با فاصله کنار هم قرار میدهد و برمیگرداند.
خط ۱۰: تابع "binary_to_text" را برای تبدیل باینری به متن تعریف میکند.
خط ۱۱: رشته باینری را بر اساس فاصله جدا میکند تا هر مقدار باینری جداگانه داشته باشیم.
خط ۱۲: یک رشته خالی برای ساخت متن ایجاد میکند.
خط ۱۴: تکتک مقادیر باینری را بررسی میکند.
خط ۱۵: مقدار باینری را با "int(value, 2)" به عدد تبدیل کرده و سپس با "chr" آن را به کاراکتر تبدیل میکند.
خط ۱۷: متن نهایی را برمیگرداند.
خط ۲۰: یک حلقه بینهایت ایجاد میکند تا کاربر بتواند چند بار از برنامه استفاده کند.
خط ۲۱ تا ۲۳: منوی برنامه را نمایش میدهد.
خط ۲۵: انتخاب کاربر را دریافت میکند.
خط ۲۷: اگر کاربر گزینه "1" را انتخاب کند، برنامه وارد حالت تبدیل متن به باینری میشود.
خط ۲۸: متن را از کاربر دریافت میکند.
خط ۲۹: متن را به باینری تبدیل کرده و نمایش میدهد.
خط ۳۱: اگر کاربر گزینه "2" را انتخاب کند، برنامه وارد حالت تبدیل باینری به متن میشود.
خط ۳۲: مقدار باینری را از کاربر دریافت میکند.
خط ۳۳: باینری را به متن تبدیل کرده و نمایش میدهد.
خط ۳۵: اگر کاربر "3" را انتخاب کند، پیام خروج نمایش داده میشود.
خط ۳۷: با "break" حلقه متوقف شده و برنامه پایان پیدا میکند.
خط ۳۹: اگر انتخاب کاربر معتبر نباشد، پیام خطا نمایش داده میشود.
🧪 یک نمونه
اگر وارد کنیم:
Hello
برنامه چیزی شبیه این برمیگرداند:
01001000 01100101 01101100 01101100 01101111
و اگر همین باینری را دوباره وارد کنیم:
01001000 01100101 01101100 01101100 01101111
خروجی دوباره میشود:
Hello
🧠 نکته جالب
اینجا با دو تابع مهم پایتون آشنا شدیم:
"ord()" → کاراکتر را به عدد تبدیل میکند.
"chr()" → عدد را دوباره به کاراکتر تبدیل میکند.
و قسمت جالبتر:
"int(value, 2)" یعنی این عدد را با مبنای ۲ تفسیر کن.
پس در همین پروژه کوچک، عملاً با رشتهها، توابع، حلقهها، تبدیل مبنا و نمایش باینری دادهها کار کردیم.
🚀 چالش
حالا نسخه حرفهایترش رو خودت بساز:
- تبدیل حروف فارسی را هم پشتیبانی کند.
- امکان ذخیره نتیجه در فایل داشته باشد.
- تعداد بیتهای خروجی را نمایش دهد.
- برای ورودی باینری نامعتبر پیام خطای مناسب نشان دهد.
نظرات
0 نظرنظر خود را بنویسید