قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 19-02-2016, 01:12 AM المشاركة 9   
افتراضي



العمل مع القوائم :
عندما تبدأ فى كتابة البرامج ، فإنه من المغري خلق العديد من المتغيرات الفردية لتخزين مجموعة من القيم المماثلة . على سبيل المثال ، إذا أردت تخزين أسماء القطط ، قد تميل إلى كتابة الكود بالشكل التالى :



هذه الوسيلة سيئة لكتابة التعليمات البرمجية . السبب ، وإذا كان عدد من القطط يتغير، فإن البرنامج لن يكون قادرا على تخزين المزيد من القطط أكثر من المتغيرات التى لديك . هذا النوع من البرامج أيضا ايكون به لكثير من التعليمات البرمجية المكررة أو المتطابقة تقريبا . أمعن النظر في كمية الكود المكررة في البرنامج التالي ، والذى يجب أن تدخله في محرر الملف وحفظه باسم allMyCats1.py:



بدلا من استخدام متغيرات متعددة، ومتكررة ، يمكنك استخدام متغير واحد يحتوي على قيمة القائمة . على سبيل المثال ، فيما يلى نسخة جديدة ومحسنة من برنامج allMyCats1.py. يستخدم هذا الإصدار الجديد قائمة واحدة ويمكن تخزين أي عدد من القطط التي يكتبها المستخدم . اكتب الكود التالي في نافذة محرر الملف، واحفظه باسم allMyCats2.py:



عندما تقوم بتشغيل هذا البرنامج ، فإن الخرج سوف يكون بالشكل التالى :



الاستفادة من استخدام قائمة هي أن البيانات الخاصة بك الآن تكون في هيكل structure ، لذلك فإن يرنامجك يكون أكثر
مرونة في معالجة البيانات عن ماإذا كان به العديد من المتغيرات المتكررة.

استخدام حلقات for مع القوائم

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 19-02-2016, 01:19 AM المشاركة 10   
افتراضي


استخدام حلقات for مع القوائم
في الدرس الثانى ، تعلمت استخدام حلقات for لتنفيذ كتلة من التعليمات البرمجية عددا معينا من المرات. من الناحية الفنية ، حلقة for تكرر كتلة التعليمات البرمجية مرة واحدة لكل قيمة في قائمة أو قيمة لشبه قائمة م. على سبيل المثال، إذا قمت بتشغيل الكود التالى :



خرج هذا البرنامج يكون بالشكل التالى :



السبب هو أن العودة من range(4) هى قيمة لشبه قائمة list-like والتى يعتبرها مثل [0, 1, 2, 3] . البرنامج التالى له نفس خرج البرنامج السابق :



ماالذى يقوم بفعله فى الواقع حلقة for السابقة من خلال بيانها مع المتغير i هو تعيينه للقيم المتعاقبة في القائمة
[0, 1, 2, 3] في كل تكرار .
تقنية البايثون الشائعة هي استخدام range(len(someList)) مع حلقة for للتكرار عبر فهارس قائمة . على سبيل المثال ، أدخل ما يلي في وعاء البيئة التفاعلية:



استخدام range(len(supplies)) فى حلقة for المبينة يكون مفيد لأن التعليمات البرمجية في الحلقة يمكن أن تصل الفهرس (مثل المتغير i ) والقيمة في هذا الفهرس (مثل supplies[i] ) . والأفضل أن range(len(supplies)) سوف تتكرر خلال جميع فهارس supplies ، بغض النظر عن عدد العناصر التي تحتوي عليها.

العوامل in و not in :

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 19-02-2016, 01:27 AM المشاركة 11   
افتراضي


العوامل in و not in :
يمكنك تحديد ما إذا كانت قيمة فى in أو ليست فى not in قائمة باستخدام العوامل in , not in . . مثل العوامل الآخرى ، العوامل in , not in تستخدم في التعبير للاتصال بين قيمتين: قيمة للبحث في in قائمة والقائمة list حيث يمكن العثور عليها. وهذه التعبيرات تقيم إلى قيمة منطقية . أدخل ما يلي في وعاء البيئة التفاعلية:



على سبيل المثال ، البرنامج التالي يتيح للمستخدم بكتابة اسم حيوان أليف pet ثم يتحقق لمعرفة ما إذا كان الاسم في قائمة الحيوانات الأليفة .
افتح نافذة جديدة محرر الملف ، أدخل التعليمة البرمجية التالية ، واحفظه باسم myPets.py:



الخرج يكون بالشكل التالى :



خدعة(براعة) التعيين المتعدد :
خدعة التعيين المتعدد هي اختصار والذى يمكنك من تعيين متغيرات متعددة مع القيم في قائمة في سطر واحد من التعليمات البرمجية . لذلك بدلا مما يلى :



يمكنك كتابة سطر الكود التالى :



عدد المتغيرات وطول القائمة يجب أن يكونا متساويان ، وإلا قلإن البايثون سوف يعطى الخطأ ValueError :



عوامل التعيين (التخصيص) المركبة :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 19-02-2016, 01:31 AM المشاركة 12   
افتراضي


عوامل التعيين (التخصيص) المركبة :
عند تعيين قيمة للمتغير، فكثيرا ما استخدم المتغير بحد ذاته. على سبيل المثال ، فى الكود التالى يتم تعيين 42 إلى المتغير spam ، ثم بعد ذلك يتم زيادة القيمة الموجودة فى المتغير spam بواحد :



كاختصار (اختزال) ، يمكنك أن تستخدم عامل التخصيص المركب (+=) للقيام بنفس العمل كما يلى :



هناك عوامل تخصيص مركبة للعوامل الآنية +, -, *, /, % ، والموصوفة فى الجدول التالى :



العامل += يمكن أن بقوم بعمل تجميع (تسلسل) سلاسل وقوائم ، والعامل *= يمكنه القيام بعمل تكرار (مضاعفة) سلاسل وقوائم . أدخل الكود لتالى فى وعاء البيئة التفاعلية :



الطرق (الأساليب) Methods :



الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 09:52 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)