طيب السلام عليكم اليوم ان شاء الله هنكمل في
الموضوع اللي بدأناه المحاضرة الماضية اللي هو موضوع
ال list تمام؟ هنستفكر بشكل سريع الأمور اللي
أخدناها المحاضرة الماضية و هنكمل في بعض ال .. ال
.. ال methods أو ال functions اللي اللي علاقة في
ال list و هناخد بعدين في آخر المحاضرة بعض الأمثلة
العمليةاللي بتبيننا كيف هستفيد من ال list في أمثلة
برمجية واقعية طيب أول حاجة أقولها فايدة ال list
اللي هي عبارة عن variable بخزن فيه مجموعة بيانات و
هذا بريح لبدل ما اعرف مثلا meet variable عشان اعرف
meet قيمة بعرف variable لوحده بخزن فيهكل القيم و
بعد هي كمان هستفيد من ال list انه انا ممكن اوصل
للبيانات بسرعة يعني ممكن اعمل loop على ال list
واطمع كل البيانات الموجودة فيها و اعمل بحث على ال
list وغيرها طيب تعرف list عادي زي ما بعرف أي
variable تمام بحط مثلا متغير اسمه x مثلا تمام هيك
انا عرفت list مالها list فاضية تمام y يساوي1,2,44
,6,7,8,70 هذا ال list فيها بيانات ممكن أدخل فيها
بيانات أو أضيف عليها بيانات في الآخر عن طريق
method اسمها append x dot append تمام و بضيف مثلا
88 ال x طبعا فاضي صح y dot append 100 هيك أنا أضيف
ال 88 على ال x و 100 على ال y تمام لأن لما أعمل
run
أه print هاي ال X وهي print ال Y تمام
هاي المحتوى هاي ال 88و ال list هتنحط فيها في الاخر
مين؟ في الاخر مين؟ طيب هذا الإضافة .. الإضافة على
ال list في طريقة تانية للإضافة على ال list تمام؟
بسيطة جدا برضه عشان يعرفها الان مثلا ال X بتضيف
عليها كمان قيمة و هتاكل مثلا 200 تمام؟ ممكن أجعل X
زائد يساوي تمام؟ و بفتح زي هيك و بكتب إيش؟ 200
عندما أضيف على الـValue من العادى، هذا الشبيه
فيها، تمام؟ زي ما أنا بضيف .. بس إيش الفرق؟ إنه
دايما أنا لما أضيف حاجة على حاجة، لازم يكونوا من
نفس النوع، صح أو لا؟ الـX هي عبارة عن إيش؟ عن
list، تمام؟ بضيف عليه قيمة 200، بقدرش أحط 200و
اعمل زائد على طول هذه ايش معناها X زائد يساوي بين
قسمين يعني هذه نفسها تساوي X يساوي X زائد زيه لأن
هدول عشان نجمعهم مع بعض هذه مع هذه لازم تكون من
نفس النوع صح؟ هذه لازم تكون أيش لازم تكون list
فحطتها بين قسمين لأن نفس الحاجة Y زائديساوي
أربعمية ايش يعني؟ بفت على ال Y يداش أربعمية هذه
نفسها تكافئ هي نفسها why do't append أربعمية طبعا
يعني طريقتين مختلفتين حتى الآن لو أنا روحت طبعت اه
الطبعة فوق حضرتها
طبعا لو انا طبعت هاي مثلا ال y ضاف عليها اربعمية
هاي محتوى ال y ضاف عليها اربعمية اربعمية طبعا ليش
لأنه هنا عملت هنا ضفت اربعمية و هنا ضفت اربعمية
تاني طبعا طيب هذا لو انا بدي اضيف قيمة على ال ..
على ال list طب افرض انا بدي اضيف مجموعة قيمهل يعني
كل شويه اعمل append و كمان مرة append و كمان مرة
append؟ لأ في طريقتين كمان عشان نضيف اكتر من قيمة
احنا لان شوفنا كيف نضيف قيمة لو بودى اضيف اكتر من
قيمة الطريقة الاولى انه انا بس اروح على ال list
هذه و اضيف اللي بديا ده
ايش معناها؟ ضيفت على ال list X ال list هذه كلها
واضحة كيف؟ أظن سهلة و ال Y الأن بدي أضيف عليها
أربعمية، تلاتمية، سبعمية هدول ضيفتهم وين؟ على ال Y
عند
list Z أو تسميها names فيها
مثلا علي وأحمد
بضيف عليها كمان اسمين ممكن اروح حكيله names و
احكيله زائد يساوي تمام و حط الاسمين جوا قص اللي
بدك اياه امل و عمر مثلا شايفين كيف عن طريق ايش
اشارة زائد تمام هك انا بضيف list كاملة على ال list
اسمها ايش names تمام اجيت طبعة الان print
Names محتوى
لسه كامل حكينا
يا جماعة ان هذه اللي هنا تكافئها x.append مثل صح
هذه تكافئهاطيب هدى
هل
بينفع اقول x dot append تمام وحط 200 300 لأ ال
append بتستخدم لإيش لإضافة قيمة واحدة لو انا بدى
اضيف اكتر من قيمة ممكن استخدم method تانية اسمها
extend كلمة extend معناها زى مدد او كبرتمام؟ توسيع
تمام؟ طبعا هاد ال extent بتاخد list يعني ممكن هنا
قاعد يعطيله ايش؟ 200 300 واضحة
كيف؟ يعني الخلاصة لهذا الكلام كله
خلاصة الكلام كله لو انا بضيف قيمة ع ال list x في
طريقتين يا اما بقوله x dot append و بحط القيمة
مثلا 100 او بقوله x زائد يساوي تمام و بحط 100 هدر
ما بضيف ايش قيمة واحدة لو بضيف تلت قيمة ع ال y يا
اما بقول y dot extend و بحطله هنا listمثلا اربع و
اربعين خمسة و خمسين ستة و ستين او بقول Y زائد
يساوي و بفتح القصين زي هيك زائد اربع و اربعين خمسة
و خمسين ستة و ستين الطريقة الذائدة بتنفع لكل حاجة
تمام ال extent بنفع ل list و ال append لقيمة ال
extent مجرتاش لقيمة
لو قلنا اربعة و اربعين مثلا بتصير زي .. طيب print
y انشوف
اش هتطلع
أه لأ بتظبطش ال extend لازم تاخد حاجة iterable
يعني لازم تكون عبارة عن list طبعا أه أقواص أه ما
هو يعني إذا حطيت أقواص خلاص بحط فيهم اللي بديها
يعني هذا زيكي إنه list أه هيك بتظبط يعني القصد إنه
هذا لازم تكون list فيها قيمة فيها خمس قيم المهم
لازم تكون list ال extend طبعا طيب بتنظيف ال list
جوه ال list ولا العناصر لأ بتنظيف العناصر بتاعتها
في ال extendتمام؟ في الـ extend بتنضف العناصر و
الدليل هي لإن أنا ماعملت run يعني هاي ال Y تمام؟
هاي ال 44 ضافها كأنصر زي و زي مين زي العناصر
التانية تمام؟ طيب، اللي أقن شوفنا احناالاضافة بكل
تفاصيلها كيف نضيف على ال list طبعا الحاجة واحدة
للاضافة برضه إيش هي؟ أه الآن ال append و ال extend
دائما بضيفه في الآخر سواء قيمة أو مشموعة قيم طب
افرض أنا بضيف في النص في الأول تمام؟ هذا بتلزمني
يعني مثلا أنا بعمل تصميم لواقع أخباري أخبار تمام؟
المفروض الخبر الجديدينحط في الأول يبقى لازم اي
حاجة جديدة عساس لما اجي اعمل loop تمام اطبع
الأخبار من الجديد للقديد فالمفروض انه اي خبر ييجي
احطه في ال list when في البداية تمام كيف بنعمل
إضافة للبداية؟ عن طريق مين؟ عن طريق method اسمها
insert تمام هاي مثلا ال Y عندي بقول Y dotinsert
الـ insert يا جماعة هذي بتاخد two parameters ال
parameter الأول وين انا بده اضيف تمام اللي هو ال
index احنا اتعلمنا من الحاضر الماضية انه كل عنصر
في ال list كل مكان له index هذا مكانه صفر هذا
مكانه واحد هذا اتنين واحد كذا فانا لو بده اضيف
للأول بحط صفر تمام و بحط القيمة الجديدةهذه ليست
معناه استبدال المكان رقم صفر بل ضيف عنصر جديد في
المكان رقم صفر بالظبط والذي موجود في الصفر بيعمله
shift بيعمله shift إزاحة يعني مثلا أنا عندي لس
بالشكل هذا فيها أربع قيم خمسة أربعة تسعة وتسعين
تمانين تمام؟ وضفت عنصر في البداية اللي في البداية
بيصير مكانه صفر
طبعا هنا العنصر انا حاطيت مية مثلا هدول هيعملهم
shift اذاها خانة بيصير هذا خمسة اربعة تسعة وتسعين
تمانين لان هذا الجديد بيصير مكانه صفر و هذا بيصير
مكانه ايش واحد بدل مكان صفر فال insert مابتحذفش
عناصر موجودة اصلا ال insert بتضيف العنصر الجديد و
بتعمل shift للعناصر التانية لان لو جت اعملت print
ل Y
طبعا هاي ال Y نفس اللسبة بس ضعف الاول ايش مية طيب
لو انا بدي اضيف انصر هنا في المكان رقم اتنين طبعا
بروح
بنعمل Y و ت insert بنحط اتنين مية طب ايش هتسير كان
في المكان اتنين هيعمل إزاحة طبعا هاي بنعمل print
تحت
طيب هو ضاف الصفر طبعا في الأول ضاف مين؟ المية صارت
المية في المكان صفر واحد لأن هو ايش ضاف؟ هنا كمان
مية هلجيت لبعد .. لما ضاف المية كيف صار شكل ال
list؟ زي هيك صح؟ هذا في المكان صفر و هذا واحد و
هذا اتنين يعني اللي هيزيح هلجيت مين؟ اه الاتنين
هيزح الاتنين و حط ايش؟ و حط مية تمام هذا ايش؟ هذا
ال insert
هك بنقول خلصنا إيش كل عملية الإضافة، طب لسه تبدال،
يعني ماشي أنا مثلا قلنا عندي مثلا list فيها أسماء،
تمام؟ شيل لكل اسم أحمد وحط بداله إيش؟ محمود مثلا،
تمام؟
طيب اذا انا يعني اذا انا عارف المكان مثلا بدي
استبدل اللي موجود هنا هذا المكان صفر واحد اتنين
تلاتة هذا المكان تلاتة بديش خمسة و خمسين بدي احضر
ستة و ستين تمام اه لا مافيش method هذه احنا بنعرف
يا جماعة عشان نوصل لأي مكان في ال list عن طريق ال
index تمام يعني مثلا اذا انا بعمل print Y تلاتةهي
صفر واحد اتنين تلاتة هيطبع لي ايش هيطبع لي خمسة
وخمسين بنفس الطريقة ممكن تروح ل Y تلاتة تساوى ستة
وستين انا هنا عدلت ايش عدلت القيمة في Y تلاتة تمام
يعني التعديل فقط انه انا بروح للعنصر و بحط فيه
القيمة اللي بديها لأ
لو طبعت
طبعت ال Y نشوف إيش هيصير فيها تمام
هاي مثلا بدل 55 حط اللي إيش؟ حط اللي 66 طيب هاي
شوفنا الإضافة شوفنا التعديل تمام طول
ال list شوفناها المحاضرة الماضية كيف نعرف طول ال
list؟ تمام
لن ال Y طيب إيش ممكن نستفيد من ال لن؟ حاجات كتير
لو أنا قلت مثلا بدي أجيب أخر عنصر في ال list بدي
أجيب أخر عنصر في ال list واحد ممكن يقول والله أخر
عنصر في ال list و قد عد صفر واحد اتنين تلاتة أربعة
خمسة أخر مكان هو إيش؟ Y خمسة صح ولا؟ أه هاي print
تمام Y خمسة
هذا اخر مكان في ال list ماشي هذا كلام صحيح بس افرض
انا ال list كبيرة او انا مش عارف اصلا جدش حجم ال
list يعني مثلا المثال اللي أخدناه المحاضرة الفاتة
لما عملنا loop و المستخدم دخل أسماء انا بعرف وقتش
المستخدم هيوقف؟ لأ فبكونش عارف حجم ال list عشان
اقوله روحلي او اخر أنصر ايش ال index تبعه عشان
اقوله اطبعليه طبعا؟ طيب
أخر عنصر مكانه هو طول ال list ناقص واحد ليش؟ إذا
طول ال list خمسة معناه العناصر بتبدأ من صفر واحد
اتنين تلاتة أربع صح أو لا؟ إذا مية من صفر لتسعة
وتسعين يبقى المكان تأخر عنصر هو طول ال list ناقص
واحد صح أو لا يا جماعة؟مكان أخر أنصر هو طول ال
list ناقص واحد تمام فكيف ممكن أطبع مكان أخر أنصر
ممكن ببساطة أعرف متغير أقول له مثلا length تمام
يساوي لن ال y ناقص واحد صح ولا و بعدين أروح لل y و
بين القصين أحط كلمة إيش length
واضحة الفكرة هذه يا جماعة انا لاحظ ان انا لان
ماحطيتش رقم بين القصير حطيت ايش؟ variable عادي ما
هو ال variable ايش فيه اصلا؟ فيه رقم بمشي الحل
تعالى
نشوف ايش هيطبعلنا لو انا عملت run تمام هيطبعلي
ايش؟ طبعلي ال 78 وممكن
كمان نختصر ناخد هذه كلها تمام؟
وحطها وين؟ جوا القسيل واحد بيقول هذه غريبة، في Y
جوا و Y برا، لا مش غريبة، هو إيش بيسويه في الأول؟
أول حاجة بعملها بروح بحسب مين؟ اللي جوا، و بتصير
قيمة، خمسة مثلا، بتصير Y خمسة، تمام؟
واضح يا جماعة اللي بحكيه؟ طيب يبقى الأن شوفنا
الإضافة بكل تفاصيلها شوفنا ال lin خلينا نسترجع
بشكل سريع الحذف في تلت طرق للحذف مختلفة تمام؟
أخدنا طرقتين المرة الماضية تمام؟ اللي هو ال deal و
ال remove تمام؟ إيش بيفرجوا عن بعض؟ ال deal إذا
أنا عارف المكان .. اه اللي بدي أحذف .. بدي أحذف
آخر أنصر تمام؟ كيف؟ deal .. deal .. why؟لأن الـ y
ناقص واحد ناقص واحد remove بتحذف القيمة تمام؟ لأن
هى اعمل print ال y تمام؟
هى اخر عنصر ماله؟ انحذف من ال list لو انا بدى احذف
قيمة انا عارفها لان القيمة مش index بقول y dot
removed مثلًا 55 و بعدين print ال
y هى الآن طلع على ال list بطل فيها إيش 55 بس طبعًا
ال remove بتحذف فقط أول ظهور لل answer كيف نحذف
إذا كان متكرر هذا بواحد من الأسئلة اللى احنا
هنحلهم مع بعض تمام؟ احنا الآن بتتعلم
الاساسيات بتاعة ال list تمام بعد هيك هيكون في
محاضرة كاملة تمام و حتى يمكن أخر المحاضرة عادي
كمان نبدأ فيهم أسئلة كيف نستفيد من الأساسيات هذه
عشان نحل الأسئلة عمليا تمام طيب في طريقة تالتة
عشان نعمل حدث اللي اسمها pop
ماذا يفعل ال pop هذا؟ هذا ال pop يأتي معاه مثل
الدل ماهي مثل الدل؟ الدل عندما تحذف تطلب منه ماهو؟
ال index المكان ال pop برضه عندما تحذف تطلب منه
ماهو؟ المكان طبعا إذا لم تضع شيء بين قصين بيحذف
آخر واحد by default إذا لم تضع شيء بين قصين بيحذف
آخر واحد بدليل أن هاي خلينا نعمل run تمام؟ و نطلع
ال list اللي طلعت عنديمالها ال list هيها؟ مافيش
فيها العنصر؟ 78 إذا حطيت صفر، هايحذف أول واحد، هاي
المية ماالها؟ المية راحت يبقى ال pop زي مين؟ زي
الدل، بس فيها فرق واحد مهم عن الدل، إيش هي؟ إن ال
pop العنصر اللي بتحذفه بترجعلي ممكن أرجعه أخزنه في
variableالعنصر اللي بتحذفه اللي بتطلعه من ال list
بتخزّل ليه whale في variable وممكن أروح أطبع مين
هال gate ال result واحد
بيسأل هال gate أكيد طب أيش الفايدة؟ أنا حذفته مديش
إياه؟ مدي أرجع أجيبه؟ لأ في بعض التطبيقات بتحتاج
أن أنا أحذف العنصر و أظلني .. موجود عندىزي ايش
مثلا افترض ان انا بتعمل برنامج قرعة ارقام list
فيها ارقام عشوائية و بده اسحب رقم مثلا
مسكت ال .. هذا على فكرة واحد من ال lesson حلو عند
list فيها ارقام بقول شفل اشن ال شفل لخبط ليهم
تمام؟ بعدين خدلي اول answer من ال list المفروض
الرقم اللي اسحبه اول حاجة يطلعه من ال listليش
يطلعوا من ال list؟ عشان لما نسحب مرة تانية
مايطلعناش صح ولا؟ اه يبقى لازم اسحبوا من ال list و
لازم يظلوا عندى في متغير عشان اقعد ع الشاشة اقول
مبروك صاحب رقم كذا كذا فاز بكذا صح ولا؟ تمام؟ واضح
كيف؟ هذا مثال انه انا بحذف بشيل الحاجة من ال list
و بظلوا ايش موجود؟ موجود عندى هذا المثال منطبقه
باستخدام ايش؟ باستخدام ال pop انه شيلها طلعها من
ال list وخليها ايش محتفظ؟ محتفظ فيها تمام؟يبقى
الآن برضه اتعلمنا الإضافة اتعلمنا التعديل كيف
التعديل بتم بروح على الانصر باستخدام ال index و
بقوله حط اللي فيه قيمة عن طريق ال assignment يعني
التعديل و اتعلمنا الحذف بتلت طرق ال deal و ال
remove و ال pop و فهمنا الفرق بينهم ال iteration
لأ ال iteration معناه انك تمر على العناصر الموجودة
في ال list و تعمل عليها شغل الان انا مثلا عندي
مجموعة اخبار موجودة في ال list لازم امر على ال
list هادي و اطبع الأخبار خبر خبر مثلا صح؟ عندي
مجموعة مثلا طلاب بده اطبعلهم كشف درجات موجودين في
ال list بده امر على أسماء الطلاب او أرقامهم رقم
رقم و اقول لهم كل رقم روحت عليه اعمل كشف درجات له
تمام؟ يبقى لازم يكون فيه طريقة ان ايش ان اعمل loop
على ال listطبعا كيف نعمل loop على ال list؟ أخدناها
المرة الماضية صح؟ ببساطة شديدة ممكن نعمل for I in
Y أصلا
متذكرين لما كنتوا تعملوا for I in range؟ ال range
أصلا عبارة عن list for I in Y تعمل ال print لمن؟
لل I طبعا فهيك أنا بطبع كل القيام الموجودةفي ال
list هذه طبعة ليها قيمة قيمة قيمة هذا ال iteration
شفنا الإضافة التعديل الحذف ال iteration تمام أخر
نقطة ضايلة اللي هي مجموعة methods مفيدة ممكن
تفيدني في ال listالميثود الأولى count ايش عن ال
count تمام بدي اشوف عند صف دراسي high names تمام
في أسامي طلاب أحمد غمر محمد وكمان أحمد و هاي علي و
هاي كمان أحمد بدي اعد انا كم واحد عندى في الصف
اسمه ايش اسمه أحمدممكن نحلها باستخدام for loop نمر
عليهم واحد واحد و نعمل counter و كل ما لاقيت أحمد
ضيف ليه تمام؟ لأ هذا في طريقة missiles جاهزة على
طول تمام؟ بعدين بقول له names dot count عدلي count
و بحط ال value اللي بدي أعدها اللي هي مثلا إيش؟
أحمد بس count إيش يعني count؟ قد هذه أكيد بترجعلي
إيش؟ قيمة بخزنها في variable و بعدين بقوله print
result تمام هاي الطبقة ليه؟ تلاتة مباشرة ماشي
يا جماعة في سؤال
ميثود تانية اسمها index ايش بتستنتج بالميثود هذه
يعني من اسمها المكان بالظبط لو انا عطيته عمر تمام
بقوله وين عمر موجود يعني هنا هيرجعلي ايش واحد طبعا
مكان بس اول ظهور لعمر تمام هيرن ايش طبعلي هنا
طبعلي واحد
شوفنا count index method تانية برضه كويسة اسمها
sort sort ايش يعني ترتيب طب اذا كانوا ارقام كيف
هيرتبهم و اذا كانوا حروف كيف هيرتبهم كلمات كيف
هيرتبهم دايما الترتيب تسعودي الترتيب دايما تسعودي
هاي مثلا خلينا نقول numbersيثاوى تلاتة و تلاتين
اربعة خمستاش ستة و ستين سابعة تسعين تمام؟ لو عملت
انا numbers dot sort رتبهم ايش؟ تسعودية تمام؟
اعملوا print numbers تمام؟
هذه الأرقام مالها؟تمام؟ اترتبت تسعوديا طب بالنسبة
لأسماء نفس الحد تسعوديا طب كيف الأسماء برتبة
تسعوديا؟ على ASCII code دايما ترتيب ال ASCII code
هو ايش A small ل Z small A capital ل Z capital
يعني دايما ال .. ال .. مثلا ال ASCII code بتاع ال
B أكبر من إيش؟ من ال A و ال C أكبر من ال B و هكذا
ففعليا الترتيب التسعودي للأسماء هو ترتيب ابجدي
صحيح؟ لأن هذا أقل حاجة و الـ zip ماله أكبر حاجة
تمام؟ و الدليل إنه هي أنا لو عملت run لو عملت sort
لل names بدل ال numbers و طبعت ال names تمام؟
هاي اترتبت إيش؟ ترتيب ابجدي طيبماشي هذا ترتيب
يتفاجن دائما ان ال sort ترتب تصاعدى طب افرض انا
بترتب بالعكس تنازلي عندى علامات بدى ارتبها من
الكبير لصغير تمام في طرق تانى الطريقة الاولى ان
انا اعمل sort في الاول و بعدين اروح اقول مثلا احنا
خلينا نقول numbers
تمام؟ رتبت الأرقام تصعدي بالصورة و بعدين بقوله
numbers dot reverse ايش يعني؟ عكسهم في الأول رتبهم
تصعدي و لما يعكسهم بيصيروا ايش؟ بيصيروا تنازلي
تمام؟
الطريقة التانية انه خليني على الصورة نفسها بس ممكن
نمرر ال parameter نقول اسمه reverse يساوي
الـ true يعني الآن هذه الـ sort function تمام فيها
default value parameter اسمه reverse ال default
value بتاعته إيش؟ false أنا ممكن أغيرها أحطها إيش؟
ال true واحد بيقول طب أنت ليش ماكنتش تبعتها قبل
هيك؟ لأنها موجودة في ال sort لكن قيمة تاعتها
مالها؟ false تمام الآن بدي أمررها بدي أقوله
reverse و أقوله إيش؟ ال true
هك ايش؟ طبعا ال numbers تمام
هيجي اترتب ليهم ايش؟ التنازل من الكبير للصغير طبعا
هذا الطريقة افضل من ان اعمل sort بعد ال reverse
بدل ما يكون عمليتين تمام هذا عملية واحدةيعني هو
هنا مدام انا بعطله reverse true هو بياخد بعين
الاعتبار اثناء الترتيب ان يحط الكبير ايش بالاول
افضل ان انا ارتبه متصاعدي و يغلب حاله و بعدين
اقوله ايش اعكسهم تمام بهمني انا الوقت دايما طيب
تقريبا خلصنا ال methods الأساسية بتاعة ال
functions في عندنا كمان method اسمها clear من غير
تفسير تمام هذا clear ايش بتعمل بتحذف كل حاجة
موجودةفي ال list يعني هاي لو عملت طبعة تمام هاي ال
numbers طبعا هي عايش فاضية
طيب، الآن اتعلمنا عدد من أساسيات ال list خلينا
الآن ناخد أمثلة عملية على ال list الأمثلة عملية
مهمة لأن فعليا أنا لازم أفهم السؤال و لازم أستحضر
أيش المناسب من ال functions اللي أنا درستها عشان
أحل السؤال هذاطيب السؤال الأول بيقول write a
program that reads marks and prints their average
max and minهذا السؤال حلناه قبل ذلك بس بدون
استخدام ال list انه انا بده اعمل برنامج ادخل فيه
علامات طلاب و بعدين في الآخر بعد ما اقوله done
مثلا او نقل مثلا انا بدخل الدرجات لما بده اخلص
بحطله ناقص واحد تمام انه خلص ادخل الدرجات هيطبعلي
متوسط الدرجات اعلى درجة و اقل درجةلأن هذا البرنامج
إذا بدى حله بال list هيكون أبسط من حله بدون list
ليش؟ أنا فعليا أول خطوة بدي أعملها بدي أعمل loop
هطلب من المستخدم يدخل علامات وكل علامة بيدخلها
بتنحط في ال list وبعد ما يخلص خلاص أنا ضامن أن
البيانات كلها موجودة في ال list بصير أشرع ال list
بقول هتل أكبر قيمة هتل أصغر قيمة هتل ال average
تمام؟ هذا اللي هنعمله ال gateأول خطوة بنعملها
بنعمل عملية إيش؟ عملية إدخال، مستمرة،
في الأول ماشي نعرف list فاضي، هاي بندعرف list
اسمها marks،
قيمتها فاضي على أساس أن أنا بندعب فيها الدرجة،
بعدين بقولوا while trueinfinite loop يظل مستمر لحد
ما يدخل ناقص واحد اطلع من ال loop اقرأ الآن
الدرجات مثلا mark يساوي int input enter
mark دخل الدرجة ايش بده اعمل اه لسه ال mark ده بده
افحصها والله اذا if mark يساوي ناقص واحد اعمل ايش
بريك خلاص لان انا مابعش نكمل ال loop لان اذا مش
ناقص واحد مش هيعمل break صح ولا بده يكمل تحت يكمل
في ال while loop تمام اذا مش ناقص واحد ايش بده
يعمل في ال mark بده يضيفه في ال list كم يضيفه في
ال list بروح اقوله marks dot append تمام و بقوله
ايش mark هذا نفسها تكافئ marks زائد يساوي
بمش الحاجة ولا لأ؟ الاتنين صح هذه marks عشان ما
تلخبطوش برضه هذه بتسميها M تمام؟ عشان تشوفوا مش زي
بعض تمام؟ ضيف ال M على مين؟ على list marks طب بعض
ما يضيف الأعلامة وين هيروح؟هيكمل في ال loop هيطلب
مني كمان إيش كمان علامة إذا مش ناقص واحد هيضيفها
وين على ال marks و هكذا تمام لحد ما أضغط إيش ناقص
واحد خلصت ال loop تمام و بقى لتخزن البيانات كلها
لدخل المستخدم وين في ال list marks الان إيش ضال
عليا أجيب أكبر علامة و أصغر علامة و ال average
تمام طبعا print
أكبر علامة على طول ال budget بقول max و بحط ال
list أصغر
علامة print sum ال marks مجموعة العلامات sum
يعني مجموعة في function اسمها sum بتجيب لمجموعة كل
اه احنا بدنا minimum تمام؟ اللي انا اش طالب مني
كمان هو ال average ما هو ال average مجموعهم على
عددهم مين يقول ليش مجموعهم ايش هو sum ال marks على
len ال marks صح ولا؟ اللي انا عشان ارتب الشغل ممكن
اقعد هنا اطبع مثلا max mark
صح يا جماعة اشعملت انا حولت هذا ل string عشان اقدر
اعرضه مع هذه تمام وهي مثلا minimum mark نقطين زائد
وهي string وهي
هنا average يساوي
طبعا هنا انا حاططهم كلهم مع بعض ممكن واحد يحملهم
في variable يعني تمام؟ طيب خلينا نعمل run الآن
واضح يا جماعة الحل؟ مش لازم .. وين؟ بعد ال F؟ مش
لازمني؟ ليش؟ ان هم يعني يا هيدخل في ال F؟
مش هالاش ال ال ال ال ال ال ال ال ال ال ال ال ال ال
ال ال ال ال ال ال ال ال ال ال ال ال ال ال ال ال ال
ال ال ال ال ال ال ال ال ال
ال ال ال ال ال ال ال ال ال ال ال ال ال ال ال ال ال
ال ال ال ال ال ال ال ال ال
ال ال ال ال ال ال ال ال ال ال ال ال ال ال ال ال ال
ال ال ال ال ال ال ال ال ال ال ال ال
ال ال ال ال الطيب هى test مثلا بدي ادخل ايش بدي
ادخل علامات مثلا 80 44 60 85 90 92 34 77 65 و هى
ناقص واحد تمام الان هى هيطبع ليه ال maximum mark
هي ايش 92 اقل علامة 34 و المتوسط ايش69 طيب
ناخد سؤال تاني شبيه في write a program that reads
names and prints them ordered alphabetically طبعا
يعني أعمل لبرنامج أدخل أسماء و يعرض ليهم مرتبين
إيش أبجديننفس الطريقة بدي أعمل list اسمها names و
أدخل الأسماء من المستخدم و في الآخر أعمل sort لل
list عشان يطبع ليهم مرتبين إيش أبجديا واضحة يا
جماعة؟ بدي أعدل على الحل هذا بدي أجي هنا أقوله إيش
بدل مر سميها إيش names و هنا بدل أن بدي أدخل text
مافيش دي أحاول الـint صح؟ إذا كان يساوي done أعمل
إيش؟ أعمل break و هنا أضيف وين؟ضيفه على ال names
طبعا و الأن بدنا
نروح لل names و نعمل ايش sort و بعدين بيقولوا for
I in names اطبعلي ايش اطبعلي ال I نفس الحل السابق
كل اللي غيرته انه بعد ال while loop امسكت ال names
عملنا لها ايش sort و لكل I in names اطبعليالـ I
الهن
الأسماء أحمد زياد بلال غمر علي وهيدان
علي أحمد علي بلال كمال عمر زيت رتب ليهم إيش؟
أبجديا طيب
شوف السؤال هذا write a function that takes a list
of marks and retains the top five marks
بدي اعمل سؤال برنامج function ادخل علامات تمام
مايرجعليش اعلى علامة يرجعلي ايش اعلى خمس علامات
بدي
اعلى خمس علامات طيب هذا السؤال هنتعلم منه اش جديد
خلينا نشوف كيف نحله
خلينا نفترض ننسى الـ functional نعمل برنامج عادي
نشوف الفكرة اللى فيه بعدين بنحول ل function عندي
Iاش تمام علامات موجودة ناخد
أعلى واحدة نستخدمها نتخذمها و بعدين ناخد أعلى
واحدةطب لأ في حال أسهل من هي طيب عشان أعلى خمسة اه
يكون هم أول خمسة يكون هم أعلى خمسة طيب بروح لماركس
بقول له sort تمام reverse هيك
رتب ليهم بدي منهم ايش؟ بدي أول خمسة تمام؟ تمام طيب
زمايدكوا بتقول اننا نطبع الأماكن من صفر لأربع بدنا
نعمل loop يعني صح ولا لأ لو عملت loop عادية زي هيك
for i in marks وطبعة ال I هيتبع ليهم ايش هيتبع
ليهم كلهم انا بدش يهم كلهم بدي بس ايش بدي أول خمسة
ماشي يعني ممكن نحط counter مثلا نضل نزيده واحد
واحد اذا وصل ل 4 انا اعمل break تمام؟ لأ في حل
أسهل كمان من هنا تمام؟ لأ لحظة لحظة انا اعمل الحل
و بعدين اشرحلكوا إياه تمام؟ بدي اقول for i in
range
طيب
الطيبة في اللي انا كتبته حد يحاول يفهم انا ايش
عملت
أول خمس قيم أول خمس قيم أول خمس قيم أول خمس قيم
أول خمس قيمطب for I in range من صفر .. يعني هيخللي
ال I تتغير من وين؟ صفر، واحد، اتنين، تلاتة، أربعة،
خمس، أربع أنا بديش ال I بس بدي الأماكن اللي في ال
marks اللي موجودة في الأماكن I فروحت قلتله اعملي
range من صفر لخمسة و اطبعلي marks ال I إيش يعني
marks I؟ في الأول marks .. و بحط هنا إيش .. إيش
أول قيمة هيحطها؟ صفر هيطبعلي أول علامةو بعدين ال I
هتصير ايش؟ واحد هيطبع للتاني و بعدين للتالتة و
الرابع هي خلصت صفر واحد اتنين تلاتة اربعة هي اول
خمسة تمام؟ فانا استخدم الطريقة بديلة للطباعة عن
طريق ال index تمام؟ يعني انا فعليا لما بدى اطبع
اول خمسة ممكن اقول الطباع ل print marks zero صح؟ و
بعدين printماركز واحد و بعدين print ماركز اتنين و
بعدين تلاتة و بعدين اربع مش هذا اللي انا بديه لان
ماشي عشان هم اربعة بيقولهم اطلعوا خمس سطور تمام؟
لكن مش معقول ان انا اعملهم زيك افرع انا بدي اول
عشرةمش ماجول أقضل أعمل زي هيك لأ لكن لو اطلعت أنا
في الأسطور هذه فيها قاسم مشترك ايش هو كلهم هدولة
فابتين و مين بتغير؟ بتغير ال I بتتغير من صفر إلى
أربعة بدل ما أحط صفر واحد اتنين تلاتة أربعة قلتله
I بتتغير من صفر لمين؟ لخمسة مش هيصل خمسة أكيد و
أعمل print marks و أحط اللي هنا إيش؟ ال I هذه
تكافئ مين؟ تكافئ هذهشوفتوا كيف انا وصلت لأول خمسة
مش
مشكلة حتى لو مقررين يعني مثلا انا عندي مثلا
علامتين تسعة و تمانين عادى بيكونوا مقررين ورا بعض
بحطوا اه ال top الخمسة ممكن يكون فيه مكرر باستثناء
واحدةانتوا في أولى القطاع مش بتلاقيوا أول خمسة ستة
كلهم تسعة وتسعين فاصلة ستة مثلا اه عادي هم عددهم
عشرة بيحطوا
مرا بعض مافيش يعني خلاص هو نفس القيمة
الآن
تعالى نشوف النتج نطبع
طبعا هاي اول خمس قيم 99 96 91 89 89 انا طلبت اعلى
خمسة هاي اول اعلى خمسة واضح
يا جماعة كيف انا اخد جزء و طبعته من ال list طب في
طريقة تانية برضه مفيدة نتعلمها طبعا في حاجة اسمها
slicing
list slicing ايش هي list slicing؟ اه تشريح ال list
تقطيعها slice يعني ايش؟ شريحة مش شريح الجوال شريح
يعني .. طيب slicing ايش ال slicing؟ بقول انت ممكن
تاخد ال list تاتك تمام؟ و تقطع جزء منهاك list
جديدة طبعا كيف اللي انا لل list marks رتبتها بدي
منها ايش اول خمسة طبعا اش بروح بعمل page بقوله
marks و بفتح قصين زي هيك و بقوله من صفر الى خمسة
وهذه هترجعلي list جديدة خريها نفهم هذه ايش معناها
list واحد من صفر إلى خمسة معناه خدلي أول خمس عناصر
في ال list اللي هم الصفر واحد واثنين وتلاتة واربع
خمسة إيش مش مشمولة تمام؟ و بيرجعلياهم وين في list
جديدة يعني
مثلا
لو أنا عندي list واحد فيها تلتاش اربع اتنين وعشرين
خمسة سبعتاش تلاتة تمام؟ وحكيتله list اتنين يساوي
list واحد وعملي مثلا من صفر الى تلاتة ايش هيكون
محتوى list اتنين؟ يساوي
هياخد الأنصار الأول والثاني صفر واحد واثنين اللي
هما تلتاشر وأربعة واثنين وعشرين هذا محتوى مين؟ لسه
اتنين اتنين وعشرين طيب بتغير شويه في المثال لسه
واحد قلت له خد من اتنين إلى ستة بنعد هذا صفر مكانه
مثال تاني
تلاتة مجدتين مايعنيه؟ ماحددتش على النهاية من تلاتة
للآخر من تلاتة للآخر طيب
ايش
يعني؟ من أول لأربع يعني بنوقف عند index تلاتة
تمام؟ هذا بنسميه احنا ال list slicing
خلّينا نجربه هنا، بدنا أعلى خمس درجات، صح؟ بعد ما
رتبت ال list، قلت له عطلي من صفر لخمسة تعالي نعمل
print لمن؟
لل list، بنعمل print الناتج الآن هيطلع ك list
جديدة، تمام؟ ال list الأولى مش هيتأثر، تمام؟هو مش
هي .. يعني هي مش انه خلاص شال القطعة من ال marks
لأ ال marks بلت زي ما هي بس أخد نسخة من أول خمسة و
حطهم وين؟ أه في list لأ لو عملنا run هاي أعلى مين؟
هاي أول خمسة تمام؟
طيب لو حكينا بدنا من تلاتة للآخرساب أول تلاتة صفر
واحد اتنين سابهم هيبدأ من عين تلاتة للآخر يعني
المفروض الآن عشان نتأكد من الجواب أنه هيبدأ من
تسعة و تمانين تسعة و تمانين ساب التلاتة في الأول
صح؟ هذا معناه يبدأ من رقم تلاتة للآخر
ما هو لما ترتبوا .. ترتبوا .. هتصير رقم 3 هي 89،
تمام؟ طيب، trick صغير، لو بدي أوطى 5 درجات،
مين يقولي كيف بجيب، اللي أنا رتبتهم، أعلى درجات
موجودة في الأول، وأقل درجات موجودة في الآخر
بدنا نعملها زي هيك بدنا نقطع آخر خمسة إيش نعمل؟
إيش أكتب؟ نعمل لن ماركس ناقص خمسة للآخر نعمل لن
ماركس ناقص خمسة للآخر شايفين هذا؟ هذا إيش معناه؟
هذا كله موجود قبل إنه جتين يعني بيجيب لن طول ال
list ونقص منه إيش؟ خمسة
لوين؟ للاخر مش هذه معناها أخر خمسة صح ولا لأ يا
جماعة فهمتوها هذه مرة .. هذه ممكن تاخدوها تحطوها
وين اه متغير هاي مثلا index اسمه قيمته
طول ال less ماقص خمسة اللي انا اجتالي من وين؟ من
عند index للاخر واضحة ولا لأ يا جماعة؟اللي ورا
واضحة ماشي
أنا رتبتهم جيبت أول .. مديش أرتب تاني، الترتيب
بياخد وقت أنا رتبتهم مرة واحدة أعلى القيم الموجودة
في الأول وأقل القيم الموجودة في الآخرفأول خمس قيم
باجيبهم من ايش؟ عن طريق انه ال slice هذه من صفر
لخمسة، آخر خمس قيم باجيبهم من وين؟ للناقص خمسة إلى
الآخر، لأن لما يجيب طباعة الآن، طلع ايش طباعة؟
هدول ايش؟ أقل قيم موجودة
واضحة الفكرة يا جماعة؟ واضحة ايش مفهوم ال slicing
ان اقطع من ال list يبقى انا احنا حلنا هذا بطريقتين
بعد ما انا رتبت ال list عشان اخد اول خمس درجات
ممكن اعمل for loop و اقوله range من صفر لخمسة و
استخدم ال I ك index عشان اقوله marks I و الطريقة
التانية ان اعمل ايش slicing تمام؟ عند ال list
موجود اقطعلي اول خمسة اقطعلي اخر خمسة اقطعلي في
النص تمام؟
بناخد سؤال تاني بعده
write a function that takes a list and
picks a random element of it يعني زي برنامج قراءة
بدنا نعمل list فيها رقام و بدنا نسحب رقام و بعدين
نسحب رقام تاني و نسحب رقام تالت و هكذا عشوائي
طيب في الأول مثلا خليني أجرب هالحاجة
طيب هذه ..
لأ بظبطش .. طيب ماشي يا جماعة تبقوا معايا بدي أول
حاجة أعمل list فيها أرقام تمام وليأكل مثلا high
numbers بدي أحط فيهم أرقام من واحد لمية تمام أرقام
من واحد لمية قرعةطبعا المشكلة في ال range اني
بتقولي انت بتقدرش تعدل في ال range طبعا يعني مقدرش
مثلا اعمل sort كذا طبعا فاللي بدي اعمل خيار بديل
ان انا بدي اعمل list فاضية و بدي اعمل for loop for
i in range من صفر ل 100 طبعا روح اعمل numbers dot
appendأيش عملت انا هنا يا جماعة؟ عملت list، ايش
الأرقام اللي هتلحق فيها؟ الأرقام من صفر 99، عبّل
ال list، هل جيت بدنا نختار رقم عشوائي من ال list،
من الأرقام من صفر 99، بدنا ناخد رقم عشوائي منه،
طيب، في عنديمثل شفناها المحاضرة الماضية موجودة في
ال library اسمها random فبقول import dot random
تمام و بعدين بقول random dot shuffle ايش ان كلمة
shuffle؟ خربطهم تمام هاي numbers هيك ايش عمل هو
خربط القيم اللي في ال numbersأيش ضال عليها ال
gate؟ بعد ما خربطت احنا ايش بنعمل في الواقع؟
بنخربط الحاجات و نروح نسحب من اللي في الأول صح؟
ضال علينا نسحب من؟ الرقم اللي في الأول مثلا أو في
الآخر، مش هتفرق طبعا؟ المفروض اللي في الأول يصير
رقم عشوائي مش هو بره خبطهم، لاعرفش احنا ايش بدي
يجي في الأول طبعا؟ فانا عملت shuffle و بعدين بدي
أخد أسحب أول قيمة موجودة في ال list قلت معايا ولا
لأ يا جماعة؟ طبعا؟ روحت ل numbersوحكيتنا pop ليش
pop؟ صفر تمام؟ عشان يطلعها من ال list ويرجعليها
وين في variable اسمه result مثلا ليش؟ عشان قال لما
أعمل shuffle تاني تمام؟ ماتجيش بالصدفة الرقم نفسه
في الأولولو أصبح تزوير صح ولا لأ لو طلع الرقم نفسه
مرتين المفروض الرقم موجود منه نسخة واحدة ان سحبت
خلاص مانفعش أطلع تاني تمام فلما أعمل pop شلته خلاص
الطرف عمل ال list كله او اتخذلت النتيجة وين فال
result تعالي نطبع print result
مرة تانية اعملت list فيها من الأرقام من صفر لتسعة
وتسعين اعملت shuffle للأرقام و سحبت اول ايش اول
رقم و طبعته تمام تعالي نعمل run الان هاي هنا ايش
جابلي 74 مفروض لو عملت run تاني يجيبلي رقم ماله
مختلف هاي جابلي تسعة وتسعين كمان مرة هاي جابلي
تلاتة وسبعين تمام
واضح يا جماعة؟ احنا جاعدين نحاول نستفيد من ال
methods اللي أخدناهم على ال list في أنثى وقعية لأن
السؤال التاني مبسيط write a function that takes a
list and a number and counts the number of
occurrences of n in the list
من غير حتى function عندى انا مجموعة عندى list تمام
names مثلا هذا حلناه اعرفك مش هديش احله هو ايش
list ويعدلى القيمة كم مرة اتكررت في ال list تمام
زى تا ومش عملنا names فيها أحمد علي محمود كذا كذا
وعملنا dot count عدلى كم مرة المتغير هذا اتكرر
اتكرر في ال list تمام يعني هذا حلناه أثناء إيش
أثناء الشرح
اللي بعده write a function that takes a list and a
number and remove the occurrences of the number
from the list طيب هذا السؤال بدنا نشرحه لأن حكينا
قبل شوية أنه أنا لما يكون عند list فيها أرقام واجه
أقول له x dot remove تمانية
هل هيحذف كل التمانية الموجودة في ال list؟ لأ اول
تمانية هيحذف ايش؟ اول تمانية لأ انا بدي ايش يعمل؟
تمام كل التمانيات الموجودة في ال list يشيلها مش بس
ايش اه يشيل اول واحدة طيب مافيش method جهاز ممكن
تعملي هذه بس انا ممكن استخدم ال remove بطريقة ذكية
تمام ايش هي؟ شوفوا ايش بتسوي while
ممكن انت تفحص اذا رقم موجود في ال list او لا يعني
مثلا جبل هذه كيف انا بتفحص اذا ال list فيها 6 ولا
مش فيها 6ممكن نطبع حاجة اسمها 66NX ايش 6NX يعني
انصر remove هذه ال expression بترجع true او false
إذا الـ 6 موجودة في الـ X بترجع true مش موجودة
بترجع what؟ بترجع false فانا لو عملت ال run هيرجع
ل what؟ true بقولش كم مرة موجود؟ بشوف لباس موجودة
ولا مش موجودة لو حطيت هنا 100 وعملت
run أكيد هيطلع لي what؟ false صيغة ال expression
بس بحط القيمة in اسم ال listهتفحصل فعلا أن الرقم
موجود أو القيم موجودة في ال list ولا لأ و بترجع
true او false مادام بترجع true او false ممكن
استخدمها في if statement معروف ال if statement ايش
بتاخد؟ Boolean expression حاجات بترجع true او
false صح ولا؟ while text يساوي done الي يساوي اصلا
ايش بترجع؟ true or falseفالان ايش الفكرة ان انا
بده احذف كل التمانيات اللي موجودة في ال list ان
انا اقوله طالما ال list فيها تمانية بضلك احذف كيف؟
بده اعملها بالشكل هذا while تمانية
in x x
that remove التمانيةالان ايش هيعمل هو اول حاجة
هيفحص هل في في ال X تمانية في الأول هيحذف اول
واحدة و بعدين هيرجع يكمل في ال Y هل في في ال X
كمان تمانية اه في هيروح يحذف كمان طبعا اكيد هذا
لما تروح اول ظهور بيصير مين بيصير هذا بروح بحذف
كمان تمانية و بفحص تاني هل ال X فيها تمانيةطالما
فيها تمانية بروح بعمل ايش؟ remove بيضل و مستمر لحد
ال X مايضلش فيها ولا ايش ولا تمانية كيف نتأكد اذا
شغال ولا لأ؟ بروح نطبع ال X عشان نشوف ضل فيها
تمانيات ولا ماضلش صح ولا ايه يا جماعة؟ تمام؟
افهمنا كيف انا افحص اذا العنصر موجود في ال list او
لا؟يعني انا مثلا لان لو انا جيت اعمل run تمام هاي
اللي طبع ليها لو كانت ال list كبيرة ممكن تقوم ب
print مثلا تمانية x اه ال print تمانية x هيقول لي
في ضايق يعني true او false تمام بس انا طبعت ال
list هنا عشان اشوف قدامي في تمانيات ولا لأ تمام
يبقى ببساطة هذه السؤال اتعلمنا منه حاجتين اول حاجة
ان انا عشان افحص عنصر موجود في ال list او لامثلا
انا بتقوله if 9 in x اطبعلي مثلا print found ايش
يعني؟ يعني انه لجها if اطبعلي not found هذا
ال code ايش بيعمل؟ بيفحصلي اذا الرقم القيبة موجودة
في ال list ولا لأ اذا موجود برجعلي found مش موجود
بعملي ايش not found وممكن ادخلها كإيش؟ ك inputيعني
المستخدم بده يبحث هل في طالب اسمه أحمد ولا لأ هاي
مثلا عندي أنا مجموعة الطلبة مثلا names تمام؟ في
عندي أحمد تمام؟ و علي و عمر بده يشوف هل في في
الكلية أو في الصف عنده طالب اسمه مثلا ذكي تمام؟
يعني كأنه بده يعمل بحث عملية بحث صح بقى لأ فانا
بتطلب منه في الأول اقول له مثلا keyword ايش يعني
ال keyword الكلمة المفتاحية اللي بنبحث عنها input
مثلا
what do you want to search for ايش يعني عن ايش بقى
تبحث هو يخزن النتج وينفى ال keyword اللى هبقى
أقوله if keyword in names إيش يعني بيدور لأن هيبحث
هل ال keyword موجودة في ال names تمام print بده
أقوله found else
print not
found
الان هايران للبرنامج عن ايش بتاك تبحث بتقوله ببحث
عن عمر تمام هى بقوللي ايش هنا found تمام ابحث تانى
هى مثلا زكى تمام هى جالي ايش not found فعن طريق
الان انا ممكن ايش ابحث تمام وشوفنا كيف نعمل remove
انه انا بعملها while طالما ان انصر موجود دلك اعمله
ايش اعمله remove
طيب، ضروري يا جماعة المحاضرة اللي جاي تيجي مرجعين
الموضوع عادة كويس، البرمجة تراكمية، الموضوع اللي
بندرسش و بتحلوش عليه أسئلة في البيت لا يمكن تفهم
المحاضرات اللاحقة، تمام؟ لازم تجرب تحلي، لازم تكتب
إيدك و تلخبط و تطلعلك error عشان تتعلم، هي هيك
البرمجةقلتلكوا أنا مثلا بيسوق بسكيليت صح؟ هذا زيه،
تمام؟ لازم الواحد .. مانفعش أتفرج على الفيديو هيك
و أنا مبسوط و خلصنا، لأ لازم الواحد يكتب بإيده،
تمام؟ موجودة، تمام؟ على ال model موجودة، تمام؟
ومحاضرة .. هذا المحاضرة هضيفها على ال model اليوم،
تمام؟ خدوا السؤال للمرة الجاية، تمام؟ هاي .. كيف؟
اللي هنا ما نزمتش، لكن أنا بصور عند الطلاب، تمام؟
كلها بتنزل، اتعدل، اخر محاضرتين صار الـA، صار
الصوت كويس، تمام؟ الان بدنا نعمل سؤال لعلامات،
تمام؟ بدنا ندخل .. بدنا نعمل عند ال list فيها
علامات طلاب، تمام؟ بدي يطبعلي كل العلامات الفجوة
60 مرتبة، تمام؟مش احنا أخدنا كيف تطبع أقل خمس
علامات و أقل خمس علامات، اللي قال لأ، بدنا نطبع كل
العلامات اللي فوق الستين مرتبة، تمام؟ جربوا تحلوا،
لازم الواحد يفكر ويجرب عشان هذا، تمام؟