MyDjango

🤯 اسم خودت رو به صفرو یک تبدیل کن! +Code

تا حالا فکر کردی کامپیوتر اسم تو رو چطوری می‌بینه؟

مثلاً:

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 نظر
هنوز نظری ثبت نشده است.

نظر خود را بنویسید

پست‌های مشابه