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

السؤال

نشر

السلام عليكم

ده المسائل

Rock Paper Scissors

Let's play! You have to return which player won! In case of a draw return Draw!.

وده الاحل بتاعي

def rps(p1 , p2):

    if p1 == 'Rock' and p2 == 'Scissors' or p1 == 'Scissors' and p2 == 'Paper' or p1 == 'Paper' and p2 == 'Rock':
        return 'Player 1 win'
    
    elif p2 == 'Rock' and p1 == 'Scissors' or p2 == 'Scissors' and p1 == 'Paper' or p2 == 'Paper' and p2 == 'Rock':
        return 'Player 2 win'
    
    else:
        return 'Draw!'
    
print(rps('Rock' , 'Rock'))  

وده السوال

هل يوجد حل افضل من كده في المسائل ده

Recommended Posts

  • 0
نشر

يجب أن تعرف بأنه لا يوجد حل وحيد في المسائل البرمجية، فكل مبرمج يمكن أن تكون الشيفرة الخاصة به صحيحة ومنطقية، الشيفرة الخاصة بك تؤدي المطلوب لكن يمكن تحسينها من خلال استخدام هيكل أكثر تنظيما وإدارة الشروط بشكل أكثر فعالية بهذا الشكل مثلا:

def rps(p1, p2):
    # Dictionary to define the winning scenarios
    win_conditions = {'Rock': 'Scissors', 'Scissors': 'Paper', 'Paper': 'Rock'}
    
    if p1 == p2:
        return 'Draw!'
    elif win_conditions[p1] == p2:
        return 'Player 1 wins!'
    else:
        return 'Player 2 wins!'

# اختبار الدالة
print(rps('Rock', 'Rock'))

هنا قمت بإنشاء قاموس يحتوي على العلاقة بين كل شكل من أشكال اللعبة (حجر، ورقة، مقص) والشكل الذي يفوز عليه، على سبيل المثال، في القاموس win_conditions، إذا كان الشكل الأول "حجر"، فإن الفائز سيكون "مقص"، وهكذا.

وبدلا من استخدام مجموعة كبيرة من الشروط المتداخلة، حددت شرطين رئيسيين:

  • إذا كان الشكلان متساويان، فهو تعادل (Draw).
  • إذا كان الشكل الذي اختاره اللاعب الأول يفوز على الشكل الذي اختاره اللاعب الثاني، فإن اللاعب الأول يفوز، والعكس صحيح.

يمكنك الاطلاع أكثر على هاته المقالة للاستفادة أكثر:

  • 0
نشر
بتاريخ 2 دقائق مضت قال ياسر مسكين:

يجب أن تعرف بأنه لا يوجد حل وحيد في المسائل البرمجية، فكل مبرمج يمكن أن تكون الشيفرة الخاصة به صحيحة ومنطقية، الشيفرة الخاصة بك تؤدي المطلوب لكن يمكن تحسينها من خلال استخدام هيكل أكثر تنظيما وإدارة الشروط بشكل أكثر فعالية بهذا الشكل مثلا:

def rps(p1, p2):
    # Dictionary to define the winning scenarios
    win_conditions = {'Rock': 'Scissors', 'Scissors': 'Paper', 'Paper': 'Rock'}
    
    if p1 == p2:
        return 'Draw!'
    elif win_conditions[p1] == p2:
        return 'Player 1 wins!'
    else:
        return 'Player 2 wins!'

# اختبار الدالة
print(rps('Rock', 'Rock'))

هنا قمت بإنشاء قاموس يحتوي على العلاقة بين كل شكل من أشكال اللعبة (حجر، ورقة، مقص) والشكل الذي يفوز عليه، على سبيل المثال، في القاموس win_conditions، إذا كان الشكل الأول "حجر"، فإن الفائز سيكون "مقص"، وهكذا.

وبدلا من استخدام مجموعة كبيرة من الشروط المتداخلة، حددت شرطين رئيسيين:

  • إذا كان الشكلان متساويان، فهو تعادل (Draw).
  • إذا كان الشكل الذي اختاره اللاعب الأول يفوز على الشكل الذي اختاره اللاعب الثاني، فإن اللاعب الأول يفوز، والعكس صحيح.

يمكنك الاطلاع أكثر على هاته المقالة للاستفادة أكثر:

ماشاء الله 

شكرااا لحضرتك 

بس عند سوال كمان لو سمحت

هو عند كتاب الكود هل يفضل ان اكتب الكود في افضل شكل ممكن في وقتها والا مع الاقت والتطوير هكون الكود افضل ؟

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

ماشاء الله 

شكرااا لحضرتك 

بس عند سوال كمان لو سمحت

هو عند كتاب الكود هل يفضل ان اكتب الكود في افضل شكل ممكن في وقتها والا مع الاقت والتطوير هكون الكود افضل ؟

كتابة الأكواد الجيدة والنظيفة هي مهارة يكتسبها المبرمج من خلال التعوّد على مجموعة من المبادئ والمعارف والقواعد التي تبيّن الكود النظيف من غيره، فمن الطبيعي أن تكون البدايات صعبة وغير جيدة، ثم مع الوقت ستكتسب المهارة، المهم أن تركز على كتابة الأكواد الصحيحة منطقيا والتي لا تؤثر على الوظيفية، ثم يمكنك تحسينها بالتوازن مع الكتابة النظيفة للأكواد.

يمكنك تصفّح هذه المقالة للتعرف أكثر على فحوى الكود النظيف وكيفية كتابته:

 

  • 0
نشر
بتاريخ 11 دقائق مضت قال ياسر مسكين:

كتابة الأكواد الجيدة والنظيفة هي مهارة يكتسبها المبرمج من خلال التعوّد على مجموعة من المبادئ والمعارف والقواعد التي تبيّن الكود النظيف من غيره، فمن الطبيعي أن تكون البدايات صعبة وغير جيدة، ثم مع الوقت ستكتسب المهارة، المهم أن تركز على كتابة الأكواد الصحيحة منطقيا والتي لا تؤثر على الوظيفية، ثم يمكنك تحسينها بالتوازن مع الكتابة النظيفة للأكواد.

يمكنك تصفّح هذه المقالة للتعرف أكثر على فحوى الكود النظيف وكيفية كتابته:

 

شكرااا جدا لحضرتك

جزاك الله كل خير باذن الله

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...