بدر عبدالكريم عبدالجبار نشر 15 سبتمبر أرسل تقرير نشر 15 سبتمبر السلام عليكم في الصورة المرفقة ، لم أفهم لماذا جوابي خطأ ؟ المستخدم أدخل (25) ، ثم سوف يتم تحويله إلى float ، ثم سوف يتم البحث داخل اللائحة ، لكن لا يوجد رقم float داخل اللائحة ! 1 اقتباس
0 محمد عاطف25 نشر 16 سبتمبر أرسل تقرير نشر 16 سبتمبر وعليكم السلام ورحمة الله وبركاته . في لغة بايثون يُعتبر الرقم الصحيح (int) والرقم العشري (float) متساويين في القيمة إذا كانت قيمتهما العددية متطابقة أي أن 25.0 == 25 تعيد نتيجة True. لذلك فإن عملية التحقق باستخدام المعامل in لا تعتمد على نوع البيانات (Type) بل تعتمد على المساواة في القيمة . وإليك ما حدث في الكود الموضح في الصورة : قيمة المتغير: المتغير num يحمل القيمة 25.0. الشرط الأول (if num in nested_nums): يفحص ما إذا كانت القيمة 25.0 موجودة مباشرة داخل القائمة الخارجية nested_nums و القائمة الخارجية تحتوي على القوائم الفرعية والأعداد 18و 19 و 20 فقط لذلك تكون النتيجة False. نأتي للشرط الثاني (elif num in nested_nums[0]): يفحص القائمة الأولى [1, 2, 3, 4, 5] والنتيجة تكون False. والآن نأتي الشرط الثالث (elif num in nested_nums[1]): يفحص القائمة الثانية [6, 7, 8, 9, 10] والنتيجة أيضا False. وأخيرا الشرط الرابع (elif num in nested_nums[2]): يفحص القائمة الثالثة [21, 22, 23, 24, 25] وعند الوصول للرقم 25 داخل القائمة تقوم بايثون بمقارنة 25.0 == 25 فتكون النتيجة True. وبالتالي يتم تنفيذ أمر الطباعة داخل هذا الشرط وتكون الإجابة الصحيحة هي رقم d ويتم طباعة The number is in the third inner list. 1 اقتباس
السؤال
بدر عبدالكريم عبدالجبار
السلام عليكم
في الصورة المرفقة ، لم أفهم لماذا جوابي خطأ ؟
المستخدم أدخل (25) ، ثم سوف يتم تحويله إلى float ، ثم سوف يتم البحث داخل اللائحة ، لكن لا يوجد رقم float داخل اللائحة !
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.