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

هل هنالك طريقة معينة لاستخدام الجملة الشرطية if داخل lambda في بايثون؟

TheProgrammer

السؤال

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

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

Recommended Posts

  • 0

أعتقد أن الصياغة التي تبحث عنها هي هذه:

lambda x: True if x % 2 == 0 else False

لكنها تعتبر صياغة سيئة في بايثون ولا ينصح باستخدامها.
المشكلة أنه لا يمكنك كتابة أي أمر في دالة lambda فمثلا  لا يمكنك استخدام print أو raise فيها.
طريقة أخرى للحل باستخدام lambda:

f = lambda x: x == 2 and x or None

الحل الآخر هو أن تقوم بعمل دالة كاملة بدل استخدام lambda وهذا الحل في رأيي هو الأفضل، وسيكون شكل الدالة الكاملة كالتالي:

def f(x):
    if x == 2:
        print(x)
    else:
        raise ValueError


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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...