برنامج قصير : تخمين العدد :
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: منتدى البرمجة بلغة البايثون Python
صفحة 1 من اصل 1
برنامج قصير : تخمين العدد :
برنامج قصير : تخمين العدد :
حتى الآن ، الأمثلة السابقة كانت مجرد لعب ، وهى مفيدة كمقدمة لفهم المفاهيم الأساسية ، ولكن الآن دعونا نرى كيف يأتي كل شيء تعلمته معا في برنامج أكثر اكتمالا. في هذا البرنامج ، سوف نتناول لعبة بسيطة هى لعبة "تخمين عدد" . عند تشغيل هذا البرنامج ، فإن الخرج سوف يكون بالشكل التالى :
اكتب كود المصدر التالى فى نافذة محرر الملف ، واحفظه باسم guessTheNumber.py
لنرى هذا الكود سطرا بسط بدءا من أعلى :
فى البداية وعند قمة الكود يوجد تعليق لشرح ما يقوم بفعله البرنامج . بعد ذلك يم إستيراد الوحدة random بحيث يمكننا استخدام الدالة random.randint() لتوليد عدد من أجل تخمين المستخدم . قيمة رجوع الدالة هو عدد صحيح يقع بين 1 و 20 ، ويخزن فى المتغير secretNumber .
يخبر البرنامج اللاعب بأن لديه عدد سرى وسوف يعطى اللاعب 6 فرص لتخمينه . بعد ذلك يقوم الكود ، بعد أن يدع اللاعب يدخل التخمين فيقوم بالتحقق من هذا التخمين فى حلقة for ويتكرر ذلك الست مرات فى الغالب . الشىء الأول الذى يحدث فى الحلقة هو أن يكتب اللاعب التخمين . وحيث أن الدالة input() تعود بسلسلة ، فإن قيمة عودتها يتم تمريرها فى الدالة int() ، والتى تقوم بترجمة السلسلة إلى قيمة عدد صحيح . هذه القيمة تأخذ وتخزن فى المتغير المسمى guess :
هذه الأسطر القليلة من الكود تتحقق لترى ما إذا كان التخمين أقل من أو أكبر من الرقم السرى . فى أى من الحالتين يتم طباعة تلميح على الشاشة .
إذا كان التخمين لاهو أكبر ولا أصغر من الرقم السرى ، عندئذ فإنه يجب أن يساوى الرقم السرى ، فى هذه الحالة أنت تريد أن ينتهى تنفيذ البرنامج ويخرج من حلقة for .
بعد حلقة for ، تقوم حلقة if…else السابقة التحقق من أن اللاعب قد خمن بشكل صحيحا العدد وطباعة الرسالة المناسبة على الشاشة . فى كلتا الحالتين ، فإن البرنامج يعرض المتغير الذى يحتوى على قيمة لعدد صحيح
(guessesTaken and secretNumber) . وحيث أنه يجب أن يحدث تسلسل فإن هذه القيم للاعدد الصحيحة تحول إلى سلاسل، وتمرر هذه المتغيرات إلى الدالة str() ، والتي ترجع قيمة فى شكل السلسلة من هذه الأعداد الصحيحة . الآن يمكن عمل تسلسل لهذه السلاسل بالمعامل ( + ) قبل أن يتم تمريرها فى النهاية إلى استدعاء الدالة print() .
الملخص
الدوال هي الوسيلة الأساسية لتقسيم الكود الى مجموعات منطقية . ونظرا لأن المتغيرات في الدوال موجودة في النطاقات المحلية الخاصة بها، فإن الكود في أحد الدوال لا يمكن أن يؤثر بشكل مباشر على قيم المتغيرات في الدوال الأخرى. وهذا يحد أى كود يمكن أن يغير قيم متغيراتك ، والتي يمكن أن تكون مفيدة عندما يتعلق الأمر بتصحيح الكود debugging .
الدوال هي أداة عظيمة لمساعدتك على تنظيم الكود . يمكنك أن تفكر فيها على أنها مثل الصناديق السوداء: لديها مدخلات في شكل بارامترات ومخرجات في شكل قيم الإرجاعر، ووالكود بها لا يؤثر على المتغيرات في الدوال الأخرى.
حتى الآن ، الأمثلة السابقة كانت مجرد لعب ، وهى مفيدة كمقدمة لفهم المفاهيم الأساسية ، ولكن الآن دعونا نرى كيف يأتي كل شيء تعلمته معا في برنامج أكثر اكتمالا. في هذا البرنامج ، سوف نتناول لعبة بسيطة هى لعبة "تخمين عدد" . عند تشغيل هذا البرنامج ، فإن الخرج سوف يكون بالشكل التالى :
اكتب كود المصدر التالى فى نافذة محرر الملف ، واحفظه باسم guessTheNumber.py
لنرى هذا الكود سطرا بسط بدءا من أعلى :
فى البداية وعند قمة الكود يوجد تعليق لشرح ما يقوم بفعله البرنامج . بعد ذلك يم إستيراد الوحدة random بحيث يمكننا استخدام الدالة random.randint() لتوليد عدد من أجل تخمين المستخدم . قيمة رجوع الدالة هو عدد صحيح يقع بين 1 و 20 ، ويخزن فى المتغير secretNumber .
يخبر البرنامج اللاعب بأن لديه عدد سرى وسوف يعطى اللاعب 6 فرص لتخمينه . بعد ذلك يقوم الكود ، بعد أن يدع اللاعب يدخل التخمين فيقوم بالتحقق من هذا التخمين فى حلقة for ويتكرر ذلك الست مرات فى الغالب . الشىء الأول الذى يحدث فى الحلقة هو أن يكتب اللاعب التخمين . وحيث أن الدالة input() تعود بسلسلة ، فإن قيمة عودتها يتم تمريرها فى الدالة int() ، والتى تقوم بترجمة السلسلة إلى قيمة عدد صحيح . هذه القيمة تأخذ وتخزن فى المتغير المسمى guess :
هذه الأسطر القليلة من الكود تتحقق لترى ما إذا كان التخمين أقل من أو أكبر من الرقم السرى . فى أى من الحالتين يتم طباعة تلميح على الشاشة .
إذا كان التخمين لاهو أكبر ولا أصغر من الرقم السرى ، عندئذ فإنه يجب أن يساوى الرقم السرى ، فى هذه الحالة أنت تريد أن ينتهى تنفيذ البرنامج ويخرج من حلقة for .
بعد حلقة for ، تقوم حلقة if…else السابقة التحقق من أن اللاعب قد خمن بشكل صحيحا العدد وطباعة الرسالة المناسبة على الشاشة . فى كلتا الحالتين ، فإن البرنامج يعرض المتغير الذى يحتوى على قيمة لعدد صحيح
(guessesTaken and secretNumber) . وحيث أنه يجب أن يحدث تسلسل فإن هذه القيم للاعدد الصحيحة تحول إلى سلاسل، وتمرر هذه المتغيرات إلى الدالة str() ، والتي ترجع قيمة فى شكل السلسلة من هذه الأعداد الصحيحة . الآن يمكن عمل تسلسل لهذه السلاسل بالمعامل ( + ) قبل أن يتم تمريرها فى النهاية إلى استدعاء الدالة print() .
الملخص
الدوال هي الوسيلة الأساسية لتقسيم الكود الى مجموعات منطقية . ونظرا لأن المتغيرات في الدوال موجودة في النطاقات المحلية الخاصة بها، فإن الكود في أحد الدوال لا يمكن أن يؤثر بشكل مباشر على قيم المتغيرات في الدوال الأخرى. وهذا يحد أى كود يمكن أن يغير قيم متغيراتك ، والتي يمكن أن تكون مفيدة عندما يتعلق الأمر بتصحيح الكود debugging .
الدوال هي أداة عظيمة لمساعدتك على تنظيم الكود . يمكنك أن تفكر فيها على أنها مثل الصناديق السوداء: لديها مدخلات في شكل بارامترات ومخرجات في شكل قيم الإرجاعر، ووالكود بها لا يؤثر على المتغيرات في الدوال الأخرى.
مواضيع مماثلة
» حمل كتيب شرح برنامج رسم الدوائر الكهربية إيزيس ISIS ضمن برنامج بروتيس PROTEUS :
» ترجمة وإعداد كتاب البرمجة بلغة السى المدمجة وتطبيقات لغة السى والميكروكونترولر PIC مع المترجم CCS C : Embedded C Programming Techniques and Applications of C and PIC® MCUS
» مشروع متحكم فى درجة حرارة (بيان وتحكم) مع استخدام موديول ADC والحساس LM35 و LCD و RS232 مع المترجم CCS C
» تطبيق : برنامج عمل سارينةSiren :
» ملفات برنامج ARES ضمن برمجيات بروتيس
» ترجمة وإعداد كتاب البرمجة بلغة السى المدمجة وتطبيقات لغة السى والميكروكونترولر PIC مع المترجم CCS C : Embedded C Programming Techniques and Applications of C and PIC® MCUS
» مشروع متحكم فى درجة حرارة (بيان وتحكم) مع استخدام موديول ADC والحساس LM35 و LCD و RS232 مع المترجم CCS C
» تطبيق : برنامج عمل سارينةSiren :
» ملفات برنامج ARES ضمن برمجيات بروتيس
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: منتدى البرمجة بلغة البايثون Python
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى