الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كلاس بسيط للتحويل بين انظمة العد

بدأه m ahmed في 26 يوليو 2014 · 2 رد · 1,058 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هذا تقريبا اول برنامج اعمله بنظام OOP للتحويل من الثنائي إلى العشري والعكس ، واعتبره انجاز !
البرمجة الكائنية او OOP ارى انها مقعدة جدا ولن يفهمها الا عبقري واكاد اجزم اني لن افهمها!! هذا بالنسبة لي، (إما إني غبي أو هي غبية :) ).
اود منكم ابداء ملاحظاتكم على الكود وهل بالامكان كتابته بطريقة افضل .. الخ

class NumberSystems():
    def __init__(self, n):
        self.n = str(n)

    def dic2bin(self):
        n, r = int(self.n), ''
        while n > 0:
            r += str(n%2)
            n = n//2
        return r[::-1]

    def bin2dic(self):
        n, r = self.n[::-1], []
        for i, j in zip(str(n), range(len(n))):
            r.append(int(i)*2**j)
        return sum(r)

ns = NumberSystems(9)
print(ns.dic2bin())

تم تعديل هذه المشاركة بواسطة m ahmed في 26 يوليو 2014 في 03:30

1
#2

أهنئك على هذا الانجاز :)

 

أعطيك نصيحة عند تستعمال class إبدأ اولا بي برمجة methods كدوال غير موجودة في كلاس عندما تنتهي من الدوال قم بتركيبهم في كلاس

1

Untitled-18.jpg

#3
اقتباس

 

هذا تقريبا اول برنامج اعمله بنظام OOP للتحويل من الثنائي إلى العشري والعكس ، واعتبره انجاز !

الأخ m ahmed  أنا لا أريد أن أقلل من عزيمتك لكن لأكن صريحا معك........

 

إن كان الإنجاز هو صنع برنامج للتحويل بين أنظمة العد هذا ممكن برغم أن الناتج غير صحيح بالنسبة لدالة التحويل من العشري للثنائي

 

الأعداد الثنائية في البايثون عبارة عن string أولها 0b مثلا العدد 5 بالثنائي في البايثون هو :'0b101' هذا ليس بالشيئ الكبير و يمنك إصلاح الدالة

 

 

أما إن كان الإنجاز هو إستعمالك للبرمجة الكائنية التوجه

 

فلا أظن أنك إستعملت أي من خصائص البرمجة الكائنية و لا أرى أي فارق بين برنامجك بالبرمجة الإجرائية أو الكائية

 

كل ما هنالك هو دوال بسيطة

 

للبرمجة الكائنية ثلاث أساليب:

 

التغليف،التوريث و تعدد الأشكال

 

الكائن هة شئي لديه صفات

 

من بين ميزات البرمجة الكائنية الإختصار

 

مثلا لو أن هناك كائنين من نفس الصنف فهما يشتران في الكثير من الصفات لسنا مضطرين لأعادة تعريف الصفات المتكررة كل ما علينا هو إنشاء كلاس و إستعمال الوراثة

 

المثال العملي هو الواجهة الرسومية

 

أي شيئ في الواجهة مثلا الأزرار أو التوافذ عبارة عن كائنات و هي كائنات من نفس الصنف  فهي تشترك في الكثير من الصفات

 

تعلم ميزات البرمجة الكائنية التوجه و إبحث عن الأسباب التي أدت لإبتكارها  و إيجابياتها حتى تفهمها بشكل صحيح

 

كي تتقن إستعمال أي شيئ عليك أن تحتاج إليه أولا

 

نحن لا نعرف الأكل بالعصي لأننا نأكل بالملاعق (أي لا نحتاج تعلم الأكل بالعصي)

 

و أنا لا أجيد الكتابة باليسرى لأني أكتب باليمني (أنا لا أختاج تعلم الكتابة باليسرى)

 

لكني أحتاج سيارة لأن المشي متعب   :)

 

أرجو أن تكون الفكرة قد وصلت

مواضيع مشابهة