الأربعاء، 24 يونيو 2009

اظهار النص

في هذا الدرس سوف نتعرف على كيفية اظهار النص اولا ثم سنتعرف على المتغييرات.
اظهار النص
اولا يجب ان نوضح بعض الامور، هل طرحة على نفسك هذا السؤال : اين سنظهر هذا النص ؟ هل سيكتب في نافذة ما او سيظهر وحده ؟
ان كنت قد سبق لك وان برمجة بلغة ما مثل c او java.. سوف تعرف اننا نتحدث عن نافذة الدوس (Console ,Terminal)، لكي نفهم معنى الدوس يجب ان ثعلم ان هنالك نوعين من البرامج :
  • برامج بالنوافذ : نحن نعرف هذه البرامج فهي البرامج التي تحتوي على نوافذ و ايقونات و الصور و الالوان... وكل ما يجعلنا نعشق الحواسيب مثال عل هذه البرامج :



هنالك الكثير من البرامج التي تعتمد على النوافذاو بالاحرى اغلب البرامج الان اصبحت تعتمد على النوافذ.
تن كنت تريد برمجة برنامج بالنوافذ، فالوقت لا يزال مبكرا جدا، فبرمجة مثل هذه البرامجة معقد ان كنت لا تزال في البداية لدلك سوف نبرمج برامج تعتمد على نافذة الدوس.
  • برامج بالدوس : عند ظهور الحاسوب كان يعتمد كليا على الدوس، حيث لم تكن هنالك نوافد او ايقونات او حتى الالوان!! فقط الابيض و الاسود كانت برمجة برامج بالنوافذ صعبة، اول ظهور لنوافد كان مع نظام التشغيل ويندوز Windows و هذا ما اعطاه شهرته، حيث انه كان يعتمد على النوافذ اي ان هنالك سهولة في العمل به. و في وقتنا الحالي لم يعد احد يستعمل الدوس، لكن في الواقع الدوس تستخدم بكثر من قبل المبرمجين، واللينوكس هو من اعاد الدوس الى الحياة. ان نطيل الحديث في هذه النقطة و لكن للاشارة فقط فيمكنك عمل الكثير من الاشياء بالدوس. والدوس هو عبارة عنا نافذة من لونين :

فقط للاشارة في وقتنا هذا لا توجد نوافذ الدوس بلونين فقط، انما بعدة الوان و خلفيات.
في هذا الدرس لا يهمنا ما هي الدوس او كيفية الدخول اليها انما ما يهمنا هو انه يوجد نوعين من البرامج.
بالنسبة لنا نحن بعد اكتساب المعارف اللازمة سوف نبرمج برامج بالنوافد لكن الان سنبرمج برامج تعتمد على الدوس.
الشل التفاعلي IDLE
نحن نعرف بان البرمجة هي عبارة عن كتابة للاكواد، لكن أين ينكتب هذا الكود ؟
في البايثون توجد طريقتان للبرمجة، اي توجد طريقتان لكتابة الكود و تشغيله.سوف نرى الطريقة الاولى، اما الطريقة الثانية ففيما بعد.
الطريقة الاولى تعتمد على الشل التفاعلي (interactif shell)، للدخول الى الشل التفاعلي ندهب الى :
démarrer => Tout les programmes => Python 2.5 => IDLE(Python GUI)
بعدها سوف تطلع لنا هذه النافذة:


هذه هي نافذة الشل التفاعلي و استعمالهل بسيك يكفي كتاية الكود امام "<<<" ثم الضغط على Enter ثم ينفد الكود و ثظهر النتيجة في السط الموالي.

لاظهار النص نستخدم الدالة print متبوعة بالنص و النص يجب ان يكون مكتوب بين علامتي التنصيص (")، مثال :
code : python
1
2
>>>print "Hello World!" 
Hello World!

في المثال السابق كتبنا الدالة print متبوعة بالجملة او الكلمة المراد اخراجها بين علامتي التنصيص، وضغطنا Enter ثم ظهر النتيجة في السطرالموالي.
استخدام الدالة print سهل جدا، وهي في الحقيقة تظهر ما بعدها و ليس فقط ما بين علامتيي التنصيص، لكن لماذا نستخدم علامتي التنصيص؟
حسنا للاجابة عن هذا السؤال قم بكتابة الكود التالي :
code : python
1 
>>>print Hello World

ان كتبت دالك الكود كما هو و ضغطت Enter سيظهر كتابة بالاحمر تخبرك ان هنالك خطأ ما، السبب في دالك هو ان python ضن ان Hello World m متغيير او دالة (سوف نرى لاحقا لماذا) فلم يظهر شيئا و اعتبر ان هنالك خطأ ما، وباستعمال علامتي التنصيص نخبره باننا نريد ان نظهر مجموعة من الحروف (la chaîne de caractères) فيظهر ما بين علامتي التنصيص، ولكن هنالك استثناء فل نكتب الكود التالي :

code : python
1
2 
>>>print "4+4" 
"4+4"

لماذا لم يكتب مجموع 4+4 اي لماذا لم يظهر 8 ؟
هذا لانك قلت للبايثون اظهر مجموعة الحروف او العلامات او الارقام الموجودة بين علامتي التنصيص، انت لم تقل للبايثون بأن يظهر قيمة 4+4 انما فقط 4+4، لهذا السبب استخدمنا علامتيي التنصيص لاظهار Hello World لانه بدون علامتيي التنصيص سوف نفول للبايثون اظهر قيمة Hello World ، و Hello Word ليس لها اي قيمة لدلك يحدث خطأ.
ومادا نفعل ان اردنا اظهار القيمة ؟ مثلا قيمة 4+4 ؟
سوف نعرف اكثر معنى القيمة (Valeur)، لاظهار القيمة ببساط لا نستعمل علامتي التنصيص :
code : python
1
2 
>>>print 4+4 
8

جيد، الان اصبحنا نعرف ان هنالك فرق بين "4+4" و 4+4 .
ماحدث بالضبط هو ان print تظهر ما بعدها، و 4+4 تسمى بعملية، فيقوم البايثون بهذه العملية و يظهر النتيجة،طبعل يمكن استخدام جميع انواع العمليات : الجمع(+)، الطرح(-)، الضرب(*)، القسمة(/)،يمكنك استعمال الاقواس ايضا :

code : python
1
2 
>>>print (156 + (12-4))/2*3 
246

انت حر في عملياتك الحسابية.
حسنا، ان كنت تريد اظهار علامة (") فماذا ستفعل ؟
الطريقة البديهية هي :
code : python
1 
>>>print ""Hello" World!"
هنالك خطأ.
الخطأ هو انك تقول للبايثون اظهر ما بين علامتي و لكن بمجرد اغلاق علامتي التنصيص يعتقد البايثون ان تريد اظهار القيم لدلك يحدث الخطأ، لتفادي هذا الخطأ يجب استعمال الرمز : \ (antislash) ، لكي تقول للبايثون ان علامة التنصيص هذه ليست نهاية علامتي التنصيص و بالتالي يدخلها ضمن ما سيظهر :

code : python
1
2 
>>>print "\"Hello\" World!" 
"Hello" World! 

جيد، الان نريد كتابة اكتر من جملة، مثلا نريد اظهارالكثير من الجم، ادن سوف نستعمل :
code : python
1
2
3
>>>print "Salam !"
>>>print "Je suis NeoX"
>>>print "Tu Veux Apprendre a Python ?"
كود طويل نوعا ما يمكننا اختصاره كما يلي :
code : python
1
2    
>>>print "Salam ! ","Je suis NeoX ","Tu Veux Aprrendre a Python ?" 
Salam !  Je suis NeoX  Tu Veux Aprrendre a Python ?

ببساطة يمكننا شرح الكود السابق كما يلي : يمكنك ان تكتب اكثر من جملة نصية في نفس السطر بمجرد تفريق الجمل بعلامة (,) اي بفاصلة، وعندها يعلم البايثون ان عليه كتابة الجملة الولى ثم الثانية ثم الثالثة.. ولكن الجمل تظهر في نفس السطر ماذا ان اردت اظهار كل جملة في سطر ؟ نستخدم لهذا الغرض علامة \ متبوعة بالحرف n. مثال :

code : python
 1
2
3
4 
>>>print "Salam !  \n","Je suis NeoX  \n","Tu Veux Aprrendre a Python ?" 
Salam !  
Je suis NeoX  
Tu Veux Aprrendre a Python ?

سهلة في التعلم اليس كدلك ؟
لقد اقترب هذا الدرس من الانتهاء لكن قبل دلك ساختبر فهمك للدرس.
الكود التالي صحيح ام فيه خطأ ؟
code : python
1 
>>>print "12 + 18 = ", 12+18
فكر جيدا ثم اجب.
الاجابة : ان كانت اجابتك بصحيح فاجابتك صحيحة. ففي الكود السابق انت تخبر البايثون بأن عليه ان يظهر مجموعة الحروف "12 + 18 =" وبعدها قيمة 12+18 اي 30.
code : python
1
2 
>>>print "12 + 18 = ", 12+18 
12 + 18 =  30


الى هنا ينتهي هذا الدرس، ان واجهتك اي مشكلة فلا تتردد في طرحها في المنتدى.

ليست هناك تعليقات:

إرسال تعليق