محمد ردمان2 نشر منذ 5 ساعة أرسل تقرير نشر منذ 5 ساعة what is the difference between THESE CODES PLEASE 1 اقتباس
0 Sherif Aboghazala نشر منذ 1 ساعة أرسل تقرير نشر منذ 1 ساعة إليك الفرق بين الكودين بشكل واضح وبسيط: أول كود capitals = ['r','f','l'] cpas = {"D","d"} for cap, cpa in zip(capitals, cpas): print(cpa, ":", cap) capitals = ['r','f','l'] cpas = {"D","d"} for cap, cpa in zip(capitals, cpas): print(cpa, ":", cap) ما يحدث هنا: capitals → قائمة (list) cpas → مجموعة (set) zip(capitals, cpas) يربط العنصر الأول مع الأول، الثاني مع الثاني… → لكن المجموعة set غير مرتبة! لذلك ترتيب "D", "d" غير مضمون. الحلقة تعطيك مخرجات صحيحة مثل: D : r d : f أو قد تكون بالعكس… حسب ترتيب الـ set. الكود الثاني (خاطئ) capitals = ['r','f','l'] cpas = {"D","d"} for capitals , cpas in capitals.items(): print(cpas, ":", capitals) capitals = ['r','f','l'] cpas = {"D","d"} for capitals , cpas in capitals.items(): print(cpas, ":", capitals) الأخطاء هنا: capitals هو list → والقوائم ليس لديها items() → سيعطيك خطأ: AttributeError: 'list' object has no attribute 'items' أنت تكتب: for capitals, cpas in capitals.items(): لكنّك: تستخدم نفس اسم المتغيّر capitals للّست والقيم داخل الحلقة وتستخدم items() مع متغيّر ليس قاموسًا حتى لو كان قاموسًا، الصياغة غلط لأنها تعيد مفاتيح وقيم، وليس عناصر من قائمتين. إذا أردت الكود الثاني يعمل، يجب أن يكون لديك dict هكذا: capitals = {"r": "D", "f": "d"} for cap, cpa in capitals.items(): print(cpa, ":", cap) capitals = {"r": "D", "f": "d"} for cap, cpa in capitals.items(): print(cpa, ":", cap) اقتباس
السؤال
محمد ردمان2
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.