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 هل يمكنك ارسال البرمجة الصحيحة الانني لم افهمك بتاريخ On 8/4/2020 at 18:03 قال 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 م صار معي بتاريخ On 8/4/2020 at 18:11 قال Anfal Alrahbi: كيف يعني نتيه عرفتي تحليه أظهر المزيد لا نفسك طابقه فيه وما طاع يستوي بتاريخ On 8/4/2020 at 18:12 قال 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 بتاريخ On 8/4/2020 at 18:12 قال مرام النعمانية: امبورت ماث نسوي فوق أول وحدة ؟ أظهر المزيد نعم لا بد من عمل استيراد لمكتبة math من أجل حساب الأرقام العشرية. اذا واجهتك مشاكل في تصحيح الكود الرجاء عمل تصوير للشاشة وإرفاقها هنا. شكراً لك اقتباس
0 Anfal Alrahbi نشر 8 أبريل 2020 الكاتب أرسل تقرير نشر 8 أبريل 2020 بتاريخ On 8/4/2020 at 18:19 قال مرام النعمانية: أظهر المزيد اواجه نفس المشكله فقط تبقت لي هذه البرمجة التي في الصورة رقم 1 يطلع لي غلط لماذا؟ اقتباس
0 Mohammed Ahmed13 نشر 8 أبريل 2020 أرسل تقرير نشر 8 أبريل 2020 بتاريخ On 8/4/2020 at 18:19 قال مرام النعمانية: ما الخطأ ؟ أظهر المزيد يبدو أن البرنامج لا يستطيع التوصل إلى الدالة 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 بتاريخ On 8/4/2020 at 18:01 قال Mohammed Ahmed13: يجب عليك اضافة السطور الآتية: # في أعلى الكود import math # قبل طباعة السعر بالشكل المطلوب frac, whole = math.modf(total) frac *= 100 تحياتي لك. أظهر المزيد لا زال هناك خطأ اقتباس
0 Mohammed Ahmed13 نشر 9 أبريل 2020 أرسل تقرير نشر 9 أبريل 2020 بتاريخ On 9/4/2020 at 13:23 قال مرام النعمانية: لا زال هناك خطأ أظهر المزيد هل يمكنك تزويدي بصورة للخطأ هذه المرة رجاءً؟ شكراً لتعاونك اقتباس
-1 Mohammed Ahmed13 نشر 8 أبريل 2020 أرسل تقرير نشر 8 أبريل 2020 بتاريخ On 8/4/2020 at 17:53 قال 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
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.