Anfal Alrahbi نشر 8 أبريل 2020 أرسل تقرير نشر 8 أبريل 2020 قم بعرض القيمة النهائية للمتغير total بعد انتهاء الحلقة بمجرد انتهاء دوران حلقة for ، يجب أن تكون القيمة النهائية كمبلغ بالدولار. بحيث يبدو الناتج كما يلي: Total: $xx.xx حيث يتم استبدال xx.xx بالقيمة الفعلية للمتغير total وذلك باستخدام الأمر format() كما فعلنا سابقاً. حاولت فيه بس تطلع البرمجة خطأ اقتباس
1 Anfal Alrahbi نشر 8 أبريل 2020 الكاتب أرسل تقرير نشر 8 أبريل 2020 ستقوم بإنشاء قاموس يحتوي على تفاصيل لائحة التسوق لشخص ما. أنت بحاجة إلى إنشاء قاموس باسم order مع تخزين المعلومات التالية فيه: juice: 2 bread: 3 apples: 10 oranges: 6 cake: 3 هذه هي المواد التي اختارها المتسوق وعدد المواد التي قام بشرائها عند زيارة أحد المتاجر. يوجد قاموس آخر بنفس المفاتيح يسمى prices تم إنشاؤه مسبقاً. تحتاج إلى تكرار الدوران في القواميس في نفس الوقت لتقوم بحساب الفاتورة النهائية. 1/ قم بإنشاء قاموس باسم order مع تخزين التفاصيل الواردة في الأعلى بداخله. قم بإنشاء متغير باسم total وقم بتعيين قيمته إلى 0.0 كبداية. 2/ م باستخدام حلقة for لتكرار الدوران على المفاتيح الموجودة في القاموس order ، وقم بتسمية متغير الحلقة key. (for key in order:) في الجزء الرئيسي من حلقة for ، قم بضرب قيمة البيانات من قاموس لائحة التسوق order في البيانات المكافئة لها من قاموس الأسعار prices، ثم أضفها إلى الإجمالي الحالي المخزن في المتغير total لتحديثه وتعيينه مرة أخرى إلى المتغير total. العملية الحسابية التي ستقوم بها للإضافة إلى الحساب الإجمالي total في كل مرة هي:order[key] * prices[key] 3/ انتهاء الحلقة بمجرد انتهاء دوران حلقة for ، يجب أن تكون القيمة النهائية كمبلغ بالدولار. بحيث يبدو الناتج كما يلي: Total: $xx.xx حيث يتم استبدال xx.xx بالقيمة الفعلية للمتغير total وذلك باستخدام الأمر format() كما فعلنا سابقاً. البرمجة التي قمت بها كالاتي ولاكنها غير صحيحة اين الخطأ order = {"juice": 2, "bread": 3, "apples": 10,"oranges": 6,"cake": 3} prices = {"juice": 2, "bread": 2, "apples": 2,"oranges": 2,"cake": 2} total = 0.0 for key in order: total += order[key] * prices[key] print(total) total_formatted = "${}.{}".format(int(whole), int(frac) if frac > 0 else '00') print(total_formatted) اقتباس
0 Mohammed Ahmed13 نشر 8 أبريل 2020 أرسل تقرير نشر 8 أبريل 2020 (معدل) مرحباً بك @Anfal Alrahbi. يمكن إيجاد المطلوب كالآتي: import math total = 123.23 # الدالة هذه تعطينا العدد الكلي والعشري منفصلين frac, whole = math.modf(total) # نقوم بضرب العدد العشري ب 100 حتى نحصل على رقمين بعد العلامة العشرية frac = round(frac*100) total_formatted = "${}.{}".format(int(whole), int(frac) if frac > 10 else '0'+ str(int(frac))) print(total_formatted) >>> '$123.23' تحياتي لك. تم التعديل في 8 أبريل 2020 بواسطة Mohammed Ahmed13 اقتباس
0 Anfal Alrahbi نشر 8 أبريل 2020 الكاتب أرسل تقرير نشر 8 أبريل 2020 بهذه الطريقة frac, whole = math.modf(total) frac *= 100 import math def hypotenuse(a,b): return math.sqrt(a**2 + b**2) print(hypotenuse(3,4)) # >>> 5.0 print(hypotenuse(5,12)) # >>> 13.0 هل يمكنك ارسال البرمجة الصحيحة الانني لم افهمك بتاريخ الآن قال Anfal Alrahbi: بهذه الطريقة frac, whole = math.modf(total) frac *= 100 import math def hypotenuse(a,b): return math.sqrt(a**2 + b**2) print(hypotenuse(3,4)) # >>> 5.0 print(hypotenuse(5,12)) # >>> 13.0 لو سمحت اقتباس
0 Mohammed Ahmed13 نشر 8 أبريل 2020 أرسل تقرير نشر 8 أبريل 2020 @Anfal Alrahbiمعذرة الكود بالأعلى كان به مشاكل صغيرة وتم تصحيحها. الحل كالآتي: import math total = 123.12 frac, whole = math.modf(total) frac = round(frac*100) total_formatted = "${}.{}".format(int(whole), int(frac) if frac > 10 else '0'+ str(int(frac))) print(total_formatted) شكراً لتفهمك. اقتباس
0 maram mohammed نشر 8 أبريل 2020 أرسل تقرير نشر 8 أبريل 2020 م صار معي بتاريخ 2 دقائق مضت قال Anfal Alrahbi: كيف يعني نتيه عرفتي تحليه لا نفسك طابقه فيه وما طاع يستوي بتاريخ 1 دقيقة مضت قال Mohammed Ahmed13: @Anfal Alrahbiمعذرة الكود بالأعلى كان به مشاكل صغيرة وتم تصحيحها. الحل كالآتي: import math total = 123.12 frac, whole = math.modf(total) frac = round(frac*100) total_formatted = "${}.{}".format(int(whole), int(frac) if frac > 10 else '0'+ str(int(frac))) print(total_formatted) شكراً لتفهمك. امبورت ماث نسوي فوق أول وحدة ؟ اقتباس
0 Mohammed Ahmed13 نشر 8 أبريل 2020 أرسل تقرير نشر 8 أبريل 2020 بتاريخ الآن قال مرام النعمانية: امبورت ماث نسوي فوق أول وحدة ؟ نعم لا بد من عمل استيراد لمكتبة math من أجل حساب الأرقام العشرية. اذا واجهتك مشاكل في تصحيح الكود الرجاء عمل تصوير للشاشة وإرفاقها هنا. شكراً لك اقتباس
0 Anfal Alrahbi نشر 8 أبريل 2020 الكاتب أرسل تقرير نشر 8 أبريل 2020 بتاريخ 5 دقائق مضت قال مرام النعمانية: اواجه نفس المشكله فقط تبقت لي هذه البرمجة التي في الصورة رقم 1 يطلع لي غلط لماذا؟ اقتباس
0 Mohammed Ahmed13 نشر 8 أبريل 2020 أرسل تقرير نشر 8 أبريل 2020 بتاريخ الآن قال مرام النعمانية: ما الخطأ ؟ يبدو أن البرنامج لا يستطيع التوصل إلى الدالة modf داخل math الرجاء تعديل أول سطر كالآتي: from math import modf ومن ثم السطر رقم 11 إلى: frac, whole = modf(total) وكذلك يجب عليك مسح السطر رقم 9، أدخلت قيمة فقط للتجربة لا يجب عليك استعمالها في الكود الخاص بك. الرجاء تطبيق الخطوات ومن ثم تبليغي إذا ما زال الخطأ مستمراً. اقتباس
0 Anfal Alrahbi نشر 8 أبريل 2020 الكاتب أرسل تقرير نشر 8 أبريل 2020 بهذه الطريقة ولاكن يوجد خطأ؟؟ اقتباس
0 Mohammed Ahmed13 نشر 8 أبريل 2020 أرسل تقرير نشر 8 أبريل 2020 (معدل) @Anfal Alrahbi، @مرام النعمانية يبدو أن هنالك مشكلة في استيراد المكتبة، على العموم هذا حل آخر بدون استخدام مكتبة ال math: frac = round((total % 1) * 100) total_formatted = "${}.{}".format(int(total), frac if frac >= 10 else '0' + str(frac)) print(total_formatted) تحياتي لكما. تم التعديل في 8 أبريل 2020 بواسطة Mohammed Ahmed13 اقتباس
0 maram mohammed نشر 9 أبريل 2020 أرسل تقرير نشر 9 أبريل 2020 بتاريخ 19 ساعات قال Mohammed Ahmed13: يجب عليك اضافة السطور الآتية: # في أعلى الكود import math # قبل طباعة السعر بالشكل المطلوب frac, whole = math.modf(total) frac *= 100 تحياتي لك. لا زال هناك خطأ اقتباس
0 Mohammed Ahmed13 نشر 9 أبريل 2020 أرسل تقرير نشر 9 أبريل 2020 بتاريخ 2 ساعات قال مرام النعمانية: لا زال هناك خطأ هل يمكنك تزويدي بصورة للخطأ هذه المرة رجاءً؟ شكراً لتعاونك اقتباس
-1 Mohammed Ahmed13 نشر 8 أبريل 2020 أرسل تقرير نشر 8 أبريل 2020 بتاريخ الآن قال Anfal Alrahbi: البرمجة التي قمت بها كالاتي ولاكنها غير صحيحة اين الخطأ يجب عليك اضافة السطور الآتية: # في أعلى الكود import math # قبل طباعة السعر بالشكل المطلوب frac, whole = math.modf(total) frac *= 100 تحياتي لك. اقتباس
السؤال
Anfal Alrahbi
قم بعرض القيمة النهائية للمتغير total بعد انتهاء الحلقة
بمجرد انتهاء دوران حلقة for ، يجب أن تكون القيمة النهائية كمبلغ بالدولار. بحيث يبدو الناتج كما يلي:
Total: $xx.xx
حيث يتم استبدال xx.xx بالقيمة الفعلية للمتغير total وذلك باستخدام الأمر format() كما فعلنا سابقاً.
حاولت فيه بس تطلع البرمجة خطأ
18 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.