اذهب إلى المحتوى
  • 0

ما الخطاء في هذا الكود بلغة البايثون

Ail Ahmed

السؤال

السلام عليكم , يارب تكون بخير وبصحه امين يارب 

ده مسائل من موقع codewars 

According to the creation myths of the Abrahamic religions, Adam and Eve were the first Humans to wander the Earth.

You have to do God's job. The creation method must return an array of length 2 containing objects (representing Adam and Eve). The first object in the array should be an instance of the class Man. The second should be an instance of the class Woman. Both objects have to be subclasses of Human. Your job is to implement the Human, Man and Woman classes.

 

وده الحل بتاعي بس بيظهر خطاء علي الموقع فا الكود ده كده صح والا اي

def God():
    arr2 = 
    class Person:

        def __init__(self , name=None , gender=None , job=None , age=None):
            self.name = name
            self.gender = gender
            self.job = job
            self.age = age

        def alst(self):
            arr1 = [self.name , self.gender , self.job , self.age]     
            arr2.append(arr1)
            
    man = Person('Ali' , 'Male' , 'Programmer' , 20)
    woman = Person('Yomna' , 'Female' , 'Doctor' , 16)
    man.alst()
    woman.alst()

God() 

 

بس من غير كتبت الكود لو سمحتو

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

اجابتك قريبا جدا من الحل ولاكن يمكن انك فهمت المساله بطريقه غير صحيحه فا المطلوب هو تعريف ثلاث فئات: Human، Man،Woman  يجب أن يكون كلاً من Man و Woman فئات فرعية من Human. وعند استدعاء دالة God، يجب أن تُنشأ Instances من Man و Woman وتُضاف إلى قائمة تحتوي على الإنسانين.

بالنسبة لحلك، هو بشكل عام قريب من الحل الصحيح ، ولكن هناك بعض الأخطاء والتحسينات التي يجب عملها:

لا يوجد حاجة لاستخدام فئة Person هنا، لأنه لا يتم استخدامها. بدلاً منها، يجب تعريف الفئات المطلوبة مباشرةً (Human، Man، و Woman).

يجب أن تكون الكائنات التي تُنشأ (Adam و Eve) Instances لفئتي Man و Woman.

يجب عدم تضمين معلومات غير ضرورية مثل الوظيفة والعمر في هذه المسألة. فالمطلوب فقط تمثيل Adam و Eve كأول إنسان وأول امرأة.
لقد رايت المساله واستطعت حلها اذا كنت تريد مساعده في الكود الخاص بك 

Screenshot 2024-02-17 211617.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 15 دقائق مضت قال Taha Khalid:

لقد رايت المساله واستطعت حلها اذا كنت تريد مساعده في الكود الخاص بك 

 

طيب لو سمحت انا هحاول تاني وبعد كده هارجع لحضرتك تمام

عشان ان فعلن فهمت المساله بطريقه غير صحيحه وحضرتك وضحت دلوقتي فهحاول كده وهارجع لحضرتك

شكرااا جدا يا أ.طه

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

الحل سهل إن شاء الله ان اتبعت الخطوات : 
المطلوب هنا استخدام ال classes وال sub classes 
في البداية سنعرف ال class Human 
 

class Human:
    def __init__(self, name):
        self.name = name

ومن ثم سنشتق منه classes لل Man وال Human وهنا يمكنك ببساطة اضافة اكتر من خاصية في ال class انا اكتفيت باضافة الاسم هنا كمثال توضيحي.
 

class Man(Human):
    def __init__(self, name):
        super().__init__(name)

class Woman(Human):
    def __init__(self, name):
        super().__init__(name)

وبعد ذلك سنبني دالة ترجع قيمة المصفوفة Array التي تحمل العنصري objects آدم وحواء 
 

def create():
    adam = Man("Adam")
    eve = Woman("Eve")
    return [adam, eve]

وللتحقق يمكننا التكرار داخل المصفوفة وطباعة خصائص العناصر كالأسم مثلاً 
 

creation = create()
for human in creation:
    print(f"{human.name}")

وبهذا نكون انتهينا من حل المشكلة. 
تمنياتي بالتوفيق

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ منذ ساعة مضت قال Taha Khalid:

اجابتك قريبا جدا من الحل ولاكن يمكن انك فهمت المساله بطريقه غير صحيحه فا المطلوب هو تعريف ثلاث فئات: Human، Man،Woman  يجب أن يكون كلاً من Man و Woman فئات فرعية من Human. وعند استدعاء دالة God، يجب أن تُنشأ Instances من Man و Woman وتُضاف إلى قائمة تحتوي على الإنسانين.

بالنسبة لحلك، هو بشكل عام قريب من الحل الصحيح ، ولكن هناك بعض الأخطاء والتحسينات التي يجب عملها:

لا يوجد حاجة لاستخدام فئة Person هنا، لأنه لا يتم استخدامها. بدلاً منها، يجب تعريف الفئات المطلوبة مباشرةً (Human، Man، و Woman).

يجب أن تكون الكائنات التي تُنشأ (Adam و Eve) Instances لفئتي Man و Woman.

يجب عدم تضمين معلومات غير ضرورية مثل الوظيفة والعمر في هذه المسألة. فالمطلوب فقط تمثيل Adam و Eve كأول إنسان وأول امرأة.
لقد رايت المساله واستطعت حلها اذا كنت تريد مساعده في الكود الخاص بك 

Screenshot 2024-02-17 211617.png

أ.طه ده الحل بس في نسبة خظاء برد

بس ان فهمت ان هستخدم الورثه

def God():
    arr = []
    #1- calss Human
    class Human:
        def __init__(self , name=None):
            self.name = name

    #2- calss Man
    class Man(Human):
        def __init__(self, name):
            super().__init__(name)

        m = lambda self: arr.append(self.name)
    man = Man('Adam')           
 
    #3- calss woman
    class Woman(Human):
        def __init__(self, name=None):
            super().__init__(name)
        
        w = lambda self: arr.append(self.name)
    woman =Woman("Eve")
    man.m()
    woman.w()
    print(arr)
    

God()

 

بتاريخ 50 دقائق مضت قال Hossam Mohamed15:

الحل سهل إن شاء الله ان اتبعت الخطوات : 
المطلوب هنا استخدام ال classes وال sub classes 
في البداية سنعرف ال class Human 
 

class Human:
    def __init__(self, name):
        self.name = name

ومن ثم سنشتق منه classes لل Man وال Human وهنا يمكنك ببساطة اضافة اكتر من خاصية في ال class انا اكتفيت باضافة الاسم هنا كمثال توضيحي.
 

class Man(Human):
    def __init__(self, name):
        super().__init__(name)

class Woman(Human):
    def __init__(self, name):
        super().__init__(name)

وبعد ذلك سنبني دالة ترجع قيمة المصفوفة Array التي تحمل العنصري objects آدم وحواء 
 

def create():
    adam = Man("Adam")
    eve = Woman("Eve")
    return [adam, eve]

وللتحقق يمكننا التكرار داخل المصفوفة وطباعة خصائص العناصر كالأسم مثلاً 
 

creation = create()
for human in creation:
    print(f"{human.name}")

وبهذا نكون انتهينا من حل المشكلة. 
تمنياتي بالتوفيق

انا والله ما شوفت الحل بس حلت زي حضرتك 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 11 دقائق مضت قال Ail Ahmed:

أ.طه ده الحل بس في نسبة خظاء برد

بس ان فهمت ان هستخدم الورثه

def God():
    arr = []
    #1- calss Human
    class Human:
        def __init__(self , name=None):
            self.name = name

    #2- calss Man
    class Man(Human):
        def __init__(self, name):
            super().__init__(name)

        m = lambda self: arr.append(self.name)
    man = Man('Adam')           
 
    #3- calss woman
    class Woman(Human):
        def __init__(self, name=None):
            super().__init__(name)
        
        w = lambda self: arr.append(self.name)
    woman =Woman("Eve")
    man.m()
    woman.w()
    print(arr)
    

God()

 

يوجد لديك خطاء او اثنين فقط اولا عليك تعريف الكلاسات خارج دالة ()God
بهذه الطريقه 
 

class Human:
    def __init__(self, name=None):
        self.name = name

# class Man
class Man(Human):
    def __init__(self, name):
        super().__init__(name)
        self.m = lambda: None  # Assigning a lambda function to 'm' attribute

# class Woman
class Woman(Human):
    def __init__(self, name=None):
        super().__init__(name)
        self.w = lambda: None  # Assigning a lambda function to 'w' attribute

def God():

God()


داخل دالة ()God كل شئ صحيح باستثناء شئ بسيط سيؤدي معك مشاكل في بعض test case  ستكون داله هذه شكلها النهائي
 

def God():
    arr = []
    
    # إنشاء مثيلات من الفئتين Man و Woman
    man = Man('Adam')           
    woman = Woman('Eve')
    
    # إضافة المثيلات إلى القائمة arr
    arr.append(man)
    arr.append(woman)
    
    return arr

# اختبار الحل
God()
print(isinstance(people[0], Man))  # يجب أن تطبع True
print(isinstance(people[1], Woman))  # يجب أن تطبع True





 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...