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

السؤال

نشر (معدل)

السلام عليكم

المشكله ده

You're running an online business and a big part of your day is fulfilling orders. As your volume picks up that's been taking more of your time, and unfortunately lately you've been running into situations where you take an order but can't fulfill it.

You've decided to write a function fillable() that takes three arguments: a dictionary stock representing all the merchandise you have in stock, a string merch representing the thing your customer wants to buy, and an integer n representing the number of units of merch they would like to buy. Your function should return True if you have the merchandise in stock to complete the sale, otherwise it should return False.

Valid data will always be passed in and n will always be >= 1.

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

def fillable(stcok , merch , n):

    if stcok is not None and n >= 1:
        return True
    else:
        return False
    
print(fillable("iphone" ,"mac" , 2))

انا عاوز اعارف فين المشكله

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

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال

Recommended Posts

  • 0
نشر

وعليكم السلام ورحمة الله وبركاته .

المطلوب هو ان تقوم بانشاء دالة تاخذ اول معامل وهو عبارة عن dictionary  اى مصفوفة تحتوى على الاسماء الخاصة بالمنتجات وعددها الموجود لديك فى المخزن .

والمطلوب هو التكرار على هذا ال dictionary ورؤية اذا كان لديك مخزون كافى لتقوم بالبيع للعميل .

حيث ان ثانى معامل هو اسم المنتج الذى يرد ان يقوم بشراءه والاخير هو عدد المنتجات .

الخطأ لديك انك تقوم باستقبال سلسلة نصية وليس dictionary 

  • 0
نشر
بتاريخ الآن قال محمد_عاطف:

الخطأ لديك انك تقوم باستقبال سلسلة نصية وليس dictionary 

والله فكره في الموضوع ده

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

بتاريخ 3 دقائق مضت قال محمد_عاطف:

dictionary 

الهو القاموس في لغه الباثيون صح كده

  • 0
نشر

يقتصر الكود لديك على التحقق من كون stock ليس None وأن n أكبر من أو يساوي 1، ولا يتحقق من وجود البضاعة المطلوبة (merch) في قاموس المخزون (stock) أو ما إذا كانت الكمية المتاحة كافية.

والمشكلة البرمجية تتطلب الوصول إلى قاموس stock لمعرفة ما إذا كان مفتاح merch موجودًا ثم يجب مقارنة القيمة المرتبطة بذلك المفتاح (الكمية المتاحة) مع الكمية المطلوبة (n).

لذا المشكلة لديك هي في عدم تمرير القاموس dictionary  كمعامل أول وهو  stock حيث أنك تقوم بتمرير نص وليس قاموس.

بينما المعامل الثاني هو نص وهو اسم المنتج لا مشكلة في ذلك.

 

  • 0
نشر

هو القاموس هعملو بر الداله صح كده

وهيحتوي علي merch فقط والا كمان عدد n

بتاريخ 27 دقائق مضت قال Mustafa Suleiman:

والمشكلة البرمجية تتطلب الوصول إلى قاموس stock لمعرفة ما إذا كان مفتاح merch موجودًا ثم يجب مقارنة القيمة المرتبطة بذلك المفتاح (الكمية المتاحة) مع الكمية المطلوبة (n).

 

هو انا هنا اقارن نصه برقم

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

هو القاموس هعملو بر الداله صح كده

وهيحتوي علي merch فقط والا كمان عدد n

هو انا هنا اقارن نصه برقم

المعاملات الممرة هي:

  • stock: قاموس يمثل البضائع الموجودة في المخزون (قاموس)
  • merch: اسم البضائع التي يريد العميل شرائها (نص)
  • n: عدد وحدات البضائع التي يريد العميل شرائها (رقم)
  • 0
نشر
بتاريخ 4 دقائق مضت قال Mustafa Suleiman:

المعاملات الممرة هي:

  • stock: قاموس يمثل البضائع الموجودة في المخزون (قاموس)
  • merch: اسم البضائع التي يريد العميل شرائها (نص)
  • n: عدد وحدات البضائع التي يريد العميل شرائها (رقم)

يعني القاموس هيكون كده

dic = {
    "merch": 10,
}

 

  • 0
نشر
بتاريخ منذ ساعة مضت قال Ail Ahmed:

بس انا كتب الكود ده علي موقع codewars بيظهر خظاء مش فاهم اي

بيظهر الرساله ده

False should equal True

انا مش فاهم حاجه الصرحه هي اي المشكله في الكوده

  • 0
نشر
بتاريخ 6 ساعة قال Ail Ahmed:
def fillable(stcok , merch , n):

    if stcok[merch] == n:
        return True

    else:
        return False 


dic = {
    "iphone": 10,
    "mac": 5,
    "Apple Vision": 10,
}
print(fillable(dic , "iphone" , 10)) 

بداية هذه الشيفرات تعمل بشكل صحيح.

ولكن ربما تحتاج لتصحيح بسيط وهو استبدال علامات == بعلامة =< حتى يعطينا True في حالة أرسلت قيمة أقل من 10

def fillable(stcok , merch , n):
    print(stcok[merch])
    # if stcok[merch] == n:
    if stcok[merch] >= n:
        return True
    else:
        return False 
      
dic = {
    "iphone": 10,
    "mac": 5,
    "Apple Vision": 10,
}
print(fillable(dic , "iphone" , 9)) # True
print(fillable(dic , "iphone" , 10)) # True
print(fillable(dic , "iphone" , 11)) # False

لاحظ أن القيمة 9 كانت ستعطي False أي غير ممتليء لو استخدمت الشيفرات القديمة، وهذا يعتبر خطأ.

  • 0
نشر
بتاريخ 16 ساعة قال El Sayed El Tohamy:

بداية هذه الشيفرات تعمل بشكل صحيح.

ولكن ربما تحتاج لتصحيح بسيط وهو استبدال علامات == بعلامة =< حتى يعطينا True في حالة أرسلت قيمة أقل من 10

def fillable(stcok , merch , n):
    print(stcok[merch])
    # if stcok[merch] == n:
    if stcok[merch] >= n:
        return True
    else:
        return False 
      
dic = {
    "iphone": 10,
    "mac": 5,
    "Apple Vision": 10,
}
print(fillable(dic , "iphone" , 9)) # True
print(fillable(dic , "iphone" , 10)) # True
print(fillable(dic , "iphone" , 11)) # False

لاحظ أن القيمة 9 كانت ستعطي False أي غير ممتليء لو استخدمت الشيفرات القديمة، وهذا يعتبر خطأ.

صح فعلاً دي كانت المشكلة

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...