محمد سعد البالجهر نشر 18 ديسمبر 2023 أرسل تقرير نشر 18 ديسمبر 2023 (معدل) تم التعديل في 18 ديسمبر 2023 بواسطة Mustafa Suleiman تعديل عنوان السؤال اقتباس
0 Mustafa Suleiman نشر 18 ديسمبر 2023 أرسل تقرير نشر 18 ديسمبر 2023 الكود يعتمد على مفهوم list comprehension. حيث أن [i for i in range(5)] ستولّد مصفوفة هي [4, 3, 2, 1, 0]، وتوليد تلك المصفوفة سيتكرّر بحسب j في الحلقة الخارجية، وبما أنّ الحلقة الخارجية for j in range(6) ستتكرر 6 مرّات فهذا يعني تكرار الحلقة الداخلية 6 مرّات، أي توليد matrix لها ست صفوف و 5 أعمدة كالتالي: [ [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4] ] حيث الحلقة الداخلية (التي تحوي المتحوّل i) تولّد الأعمدة، والحلقة الخارجية التي يتحكّم بها المتحوّل j تولّد الأسطر. لكن ما معنى استقلال i عن j ؟ هما ليسا نفس المتحوّل، وكما قلت آنفاً لكل منهما وظيفة في الكود أحدهما في حلقة تولّد الأسطر والآخر في حلقة تولّد الأعمدة. وانت بحاجة إلى قراءة التالي لتفهم الأمر بشكل أفضل: اقتباس
0 عبدالباسط ابراهيم نشر 24 ديسمبر 2023 أرسل تقرير نشر 24 ديسمبر 2023 الكود يقوم بإنشاء مصفوفة ثنائية الأبعاد باستخدام قائمة التكرار (List Comprehension) سأحاول إضافة كود مشابه للكود الموجود بالصورة للتوضيح أكثر بجانب الشرح السابق matrix = [] for i in range(6): matrix.append([i for i in range(5)]) # يطبع المصفوفة. print(matrix) يعمل هذا الكود بنفس الطريقة، ولكنه يستخدم قائمة فارغة لإنشاء المصفوفة. ثم تستخدم حلقة for الخارجية لإضافة صف جديد إلى المصفوفة في كل تكرار. اقتباس
السؤال
محمد سعد البالجهر
تعديل عنوان السؤال
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.