اذهب إلى المحتوى

Chihab Hedidi

الأعضاء
  • المساهمات

    2064
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    13

كل منشورات العضو Chihab Hedidi

  1. لا يوجد دالة تقوم بهذا الأمر مباشرة و لكن يمكن إستغلال الدوال الأخرى لتنفيذ هذا الأمر، فمثلا يمكنك استخدام الدالة replace فهذه الدالة تقوم بتغيير الجزء المحدد من النص بقيمة أخرى، لذا يمكنك استخدامها لإزالة المسافات من النص، و هذا مثال على كيفية استخدامها: def remove_spaces(text): return text.replace(" ", "") text = "the king is sleeping" result = remove_spaces(text) print(result) # ستطبع "thekingissleeping" يمكنك أيضا استخدام الدالة join لدمج الكلمات دون مسافات بينها بالطريقة التالية: def remove_spaces(text): return ''.join(text.split()) text = "the king is sleeping" result = remove_spaces(text) print(result) # ستطبع "thekingissleeping" هنا split تقوم بتقسيم النص إلى كلمات باستخدام المسافات كمحدد، ثم join تقوم بدمج الكلمات بدون مسافات بينها.
  2. أعلم، أنا شرحت لك المشكلة و الحل المقترح لحلها، مع هذا إذا كان لديك مشكلة في أحد المفاهيم أرجوا طرحها أسفل فيديو الدورة. بالتوفيق.
  3. المشكلة لديك تكمن في أن عرض النتيجة يكون في السطر نفسه و ليس في سطر جديد و هذا من خصائص echo و لحل هذه المشكلة يجب أن تستخدم \n و التي تعني أن تكتب النتيجة في سطر جديد و هذا ما نستخدمه تقريبا في أغلب لغات البرمجة، فيصبح الكود لديك بالشكل التالي: echo strlen($str) . "\n"; بهذه الطريقة ستضمنين أن كل نتيجة تكون في سطر منفصل، ولا يصبح لديك مشكل في قراءتها.
  4. صحيح يمكنك استخدام منصة Google Colab لتشغيل أكواد Python عبر الإنترنت دون الحاجة إلى تثبيت أي برنامج، باستخدام Google Colab، يمكنك الوصول إلى العديد من مكتبات Python الشهيرة مثل NumPy وPandas وMatplotlib وغيرها، مما يتيح لك تطبيق مختلف التقنيات والمهارات في مجال البرمجة باستخدام Python بدون الحاجة إلى تثبيته محليا على جهاز الكمبيوتر الخاص بك. و لكن أرى أنه من الأفضل تثبيت Python على الجهاز، لأنه سهل التثبيت و لا يأخذ وقت، كما أن Google Colab محدود، أي ستستعمله لفترة معينة بعدها يتوقف و يتعين عليك الدفع حتى تستخدمه مرة أخرى، و نستخدمه في العادة في المشاريع الصغيرة في مجال الذكاء الإصطناعي، أما إذا كان المشروع كبير، فيضل أن يكون الجهاز.
  5. من الأفضل مشاركة الجزء الغير مفهوم في منشور هنا على الأكاديمية حتى يستفيد الجميع من النقاش والشرح.
  6. الكود الذي نشرته يقوم بمقارنة قيمتين a و b، ويخزن القيمة الأصغر منهما في المتغير min، ثم يقوم بطباعة قيمته بالنظر إلى الشرط الموجود في الكود: if a < b : min= a else: min=b يتم فحص إذا كان قيمة a أقل من قيمة b، إذا كان الشرط صحيحا، يتم تعيين قيمة a إلى المتغير min أما إذا كان الشرط غير صحيح ، فيتم تعيين قيمة b إلى المتغير min، بالتالي القيمة التي ستتم طباعتها في النهاية هي القيمة الأصغر بين a و b. يمكنك أن تطلع على الجمل الشرطية أكثر من خلال المقالات التالية:
  7. في السابق، كان من المهم تحديد نوع الملف لأن HTML كان يدعم أنواع مختلفة من المحتوى مثل النص العادي (text) والصور والوسائط الأخرى. ومع تقدم التطورات، أصبح من غير الضروري تحديد النوع بشكل صريح في معظم الحالات، لأن معظم المتصفحات الحديثة يمكنها التعرف على نوع الملف تلقائيا. لذا، يمكن ترك "type = text/css" بسبب التوافق مع المتصفحات القديمة التي قد تحتاج إلى هذا التحديد. عموما، في HTML5، يمكن حذف "type = text/css" بسبب السياق الافتراضي للعنصر <link> والذي يفترض أن يكون نوع الملف هو "text/css" تلقائيا، و لكن قد ترغب في الاحتفاظ بها لأسباب التوافق مع المتصفحات القديمة أو لأغراض التوثيق والوضوح في الشفرة.
  8. إذا كنت قد بنيت برامج متنوعة باستخدام بايثون ولديك خبرة مسبقة في العمل معها، فمن المحتمل أن تكون قادرا على تخطي مرحلة الأساسيات بدون مشاكل كبيرة، ولكن يجب عليك التأكد من فهم مفاهيم اللغة واستخدامها بشكل جيد قبل المضي قدما، و ما أقصده هنا هو المفاهيم الأساسية لهذه اللغة أهمها الهيكل التسلسلي الذي يعنى بتنفيذ الأوامر بتسلسل محدد، الشروط والحلقات التي تستخدم للتحكم في تدفق البرنامج، الدوال والمعالجة التجريبية لتقسيم البرنامج وتصحيح الأخطاء، الهيكل البياني للبيانات مثل القوائم والقواميس والتراكيب البيانية الأخرى واستخدامها بشكل فعال، ومفاهيم البرمجة كائنية التوجه التي قد تكون ضرورية في مشاريع أكبر وتتعلق بالفئات والكائنات. إذا كنت قادرا على فهم وتطبيق هذه المفاهيم بثقة، فيمكنك المضي قدما دون الحاجة إلى إعادة دراسة الأساسيات بالكامل، و حتى نقتل الشك باليقين، أقترح عليك إعادة فيديوهات الأساسية، و لكن مع تسريع الفيديو X1.5 أو X2 و ستتذكر كل شيء. بالتوفيق في مسارك إن شاء الله.
  9. أعتقد أن هذا بسبب التحديثات التي غيرت من المكتبة يمكنك الإطلاع على الطريقة من خلال مستندات المكتبة من هذا الرابط: pytube docs
  10. نعم يمكنك ذلك عن طريق استخدام مكتبة Python المعروفة باسم pytube لهذا الغرض، و إليك خطوات بسيطة لطريقة استخدامها: from pytube import YouTube # رابط الفيديو من YouTube video_url = 'رابط_الفيديو' # تحميل الفيديو yt = YouTube(video_url) stream = yt.streams.get_highest_resolution() # اختيار أعلى دقة stream.download() # تنزيل الفيديو يرجى استبدال 'رابط_الفيديو' برابط الفيديو الذي ترغب في تنزيله من YouTube، و في الأحيان قد تواجه بعض المشكلات في التنزيل في بعض الأحيان بسبب القيود التي يفرضها YouTube على بعض محتوى الفيديو. و يمكن أن يكون هناك مكتبات أخرى توفر نفس الخدمة لأنه مثل ما نعرف أن بيثون مفتوح المصدر و المكتبات فيه كثيرة جدا، فيمكنك البحث عن الموضوع أكثر و بالتأكيد ستجد ما يناسب إحتياجاتك.
  11. لا يعتبر تعلم لغة الجافا ضروريا بالضرورة لكي تصبحي مبرمجة، ولكن يمكن أن تكون لغة الجافا إحدى الخيارات المهمة والمفيدة في مسارك المهني كمبرمجة، الجافا هي إحدى اللغات البرمجية الشهيرة والتي تستخدم على نطاق واسع في تطوير البرمجيات، وتوفر فرصا واسعة في مختلف المجالات مثل تطوير تطبيقات الويب، وتطوير تطبيقات الجوال، وتطوير البرمجيات الخاصة بأنظمة التشغيل، وغيرها. إذا كانت هناك لغة برمجة أخرى تثير اهتمامك أكثر من الجافا، فبالطبع يمكنك أن تبدأ بتعلم تلك اللغة. الأمر المهم هو فهم المبادئ الأساسية للبرمجة وتطوير المهارات البرمجية العامة التي يمكنك استخدامها في تعلم لغات برمجة متعددة. يمكنك قراءة هذه المقالات لتأخذي فكرة على البرمجة و كيف تتعلمينها:
  12. في الواقع تطوير تطبيقات بايثون يسمح لك إستخدام العديد من قواعد البيانات المختلفة و التي يمكن استخدامها في تطبيقات الويب وتطبيقات الهاتف المحمول والمشاريع الأخرى، أما بخصوص الدورة فستستخدم قواعد البيانات العلائقية و بصفة أخص ستستعمل PostgreSQL، و لا تقلق بخصوص تعلمها، لأنه قبل الشروع في تعلم flask أو django تغطي الدورة كيفية التعامل مع قواعد البيانات، و بالتالي سيمكنك تعلمها داخل الدورة. و يمكنك رؤية ذلك من خلال الإطلاع على محتوى الدورة من الرابط التالي: أو من خلال الصفحة التي تعطيك تفاصيل أكثر عن الدورة حيث ستجد الجزء المطلوب داخل قسم أساسيات إطار العمل جانغو Django بإسم التعامل مع قواعد البيانات Databases: دورة تطوير التطبيقات باستخدام لغة Python
  13. المشكلة في الcompiler الذي تستخدمه، فبعضه يكون يحتوي عليها مباشرة و البعض الأخر لا، جربت الكود و إشتغل عندي بدون مشاكل، من أجل حل المشكلة المكتبة iterator تحتوي على الدالة نفسها، يمكنك تغيير الكود بالشكل التالي ليشتغل معك بدون مشاكل: #include <iostream> #include <iterator> using namespace std; int main() { int numbers[] = { 10, 20, 3, 30, 5, 7, 40 }; int numssize = std::size(numbers); cout << numssize; return 0; }
  14. مرحبا محمود، أرجوا نشر السؤال الخاص بك أسفل الفيديو الذي تواجه فيه المشكلة في الدورة.
  15. المشكلة هي أن الدالة في تعريفها تقوم بإرجاع عدد، بينما داخلها لا توجد أي قيمة مرجعة، كما أنك تقوم بطباعة النتيجة داخلها لذا لا تحتاج على إعادة الطباعة في ال main، و الأفضل أن تقوم بتعديل الدالة لتصبح void بالشكل التالي: #include <iostream> using namespace std; void calcspecial(int num1, int num2){ if(num1 == num2){ cout << "First = Second -> "; cout << num1 << " + " << num2 << " = " << num1 + num2 << endl; } else { if(num1 > num2){ cout << "First > Second -> "; cout << num1 << " - " << num2 << " = " << num1 - num2 << endl; } if(num1 < num2){ cout << "First < Second -> "; cout << num2 << " - " << num1 << " = " << num2 - num1 << endl; } } } int main() { calcspecial(40, 40); // First = Second -> 40 + 40 = 80 calcspecial(200, 50); // First > Second -> 200 - 50 = 150 calcspecial(100, 300); // First < Second -> 300 - 100 = 200 return 0; }
  16. حلك صحيح و يمكن أن يكون بشكل أبسط باستخدام نجمة واحدة، يمكن استخدام حلقة for للتحكم في عدد النجوم التي يجب طباعتها في كل سطر. إليك طريقة أخرى باستخدام نجمة واحدة: for (let i = 4; i > 0; i--) { console.log('*'.repeat(i)); } هذا الكود يستخدم حلقة for لإنشاء أربعة أسطر، حيث يبدأ بأربعة نجوم في السطر الأول ويقلل العدد تدريجيا في كل سطر، الدالة repeat تستخدم لتكرار النجمة بناء على قيمة المتغير i. و يمكنك الإطلاع أكثر على الحلقات في جافاسكريبت من خلال المقال التالي:
  17. في Vue.js، تتوفر عدة مكتبات لترجمة النصوص المتعددة اللغات، من بينها Vue I18n و Vuetify و Vue Translate، و يعتبر Vue I18n من أشهر هذه المكتبات، حيث توفر إمكانيات فعالة لترجمة النصوص بسهولة وإدارة اللغات المتعددة. Vuetify توفر دعما مدمجا لترجمة النصوص عبر خدمة i18n، مما يجعلها خيارا مناسبا لمن يستخدم هذه المكتبة لتصميم واجهة المستخدم، أما بالنسبة لمكتبة Vue Translate، فهي مكتبة مستقلة توفر وظائف ترجمة النصوص المبنية على Vue.js. لتضمين أي من هذه المكتبات في مشروعك في Vue.js، يتطلب الأمر عادة تثبيت المكتبة المناسبة باستخدام npm أو yarn، ثم استيرادها في ملفات مشروعك، وتكوينها وفقا لاحتياجات مشروعك. ها هو مثال على كيفية استخدام مكتبة Vue I18n في تطبيق Vue.js:في الملف main.js (أو أي ملف رئيسي آخر)، يمكنك استيراد Vue و VueI18n وتكوين المكتبة كما يلي: import Vue from 'vue'; import VueI18n from 'vue-i18n'; import App from './App.vue'; Vue.use(VueI18n); const i18n = new VueI18n({ locale: 'en', // اللغة الافتراضية messages: { en: { greeting: 'Hello!' }, fr: { greeting: 'Bonjour!' }, ar: { greeting: 'مرحباً!' } } }); new Vue({ el: '#app', i18n, render: h => h(App) }); ثم، في ملف مكون Vue (مثل App.vue)، يمكنك استخدام المكونات التي تحتوي على نصوص يجب ترجمتها. على سبيل المثال: <template> <div> <h1>{{ $t('greeting') }}</h1> </div> </template> <script> export default { name: 'App', mounted() { // يمكنك تغيير اللغة في وقت التشغيل this.$i18n.locale = 'fr'; // تغيير اللغة إلى الفرنسية } } </script> هنا يتم تحديد مكتبة Vue I18n وتكوينها في الملف main.js. ثم يتم استخدام النص المترجم في مكون Vue (App.vue) باستخدام $t('greeting') حيث يتم ترجمة النص وفقا للغة المحددة في المكتبة.
  18. البرمجة بإستخدام الأودو موجود داخل دورة تطوير التطبيقات باستخدام لغة Python، بعد الدخول من خلال زر دوراتي يمكنك أن تذهب لمسار تعلم الأودو من هنا:
  19. من خلال الايرور يظهر عندك مشكلين الأول بخصوص تراخيص android و لقبولها قم بالقيام بهذا الأمر: flutter doctor --android-licenses المشكلة الثانية بخصوص Visual studio حيث يجب عليك تثبيت حزمة "Desktop development with C++" workload وتثبيت جميع المكونات الافتراضية. بعد تنفيذ هذه الخطوات، قم بإعادة تشغيل الأمر مرة أخرى: flutter doctor
  20. لكي تظهر النصوص العربية بشكل صحيح في لغة البرمجة C++، يجب عليك التأكد من أن المحرر الذي تستخدمه يدعم ترميز النصوص العربية (مثل UTF-8). فيما يلي مثال بسيط على كيفية استخدام الأحرف العربية في برنامج C++: #include <iostream> int main() { // تحديد ترميز UTF-8 للإخراج setlocale(LC_ALL, "en_US.utf8"); // استخدام الأحرف العربية في الإخراج std::wcout << L"مرحبًا بك في برنامج C++ باللغة العربية!" << std::endl; return 0; } هنا قمنا باستخدام setlocale(LC_ALL, "en_US.utf8"); لتحديد ترميز UTF-8 للإخراج، بهذه الطريقة يمكنك استخدام الأحرف العربية في الشيفرة البرمجية بشكل طبيعي. و يمكنك الإطلاع على هذه المقالة ستساعدك أكثر: كتابه بالعربي داخل الكونسل c++
  21. أعتقد أنه يمكنك استخدام تنبيها بسيطا عن طريق استخدام MessageBox في C# إذا كنت تستخدم Windows Forms: DateTime currentDate = DateTime.Now; DateTime nextPaymentDate = txtdatetime.Value; // تحديد تاريخ الدفع القادم // حساب الفارق بين التاريخ الحالي وتاريخ الدفع القادم TimeSpan difference = nextPaymentDate - currentDate; // إذا كان الفارق يقل عن يومين، قم بعرض تنبيه للمستخدم if (difference.Days < 2) { string message = $"يرجى التنبيه: موعد الدفع القادم في {difference.Days} أيام."; MessageBox.Show(message, "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Warning); } هذا مثال بسيط و يمكنك راجعة وتعديل الشرط والرسالة بما يتناسب مع احتياجات تطبيقك.
  22. يمكنك الإطلاع على المقالات و الكتب الموجودة في الأكاديمية و ستفيدك كثيرا، سأترك لك البعض ليسهل الوصول إليها: https://academy.hsoub.com/programming/javascript/ https://wiki.hsoub.com/JavaScript
  23. قرار مغادرة الجامعة والاستثمار في تعلم البرمجة ذاتيا هو قرار شخصي يعتمد على عدة عوامل، حيث إذا كنت قادرا على التحمل الذاتي وتنظيم وقتك بشكل فعال، قد يكون التعلم الذاتي خيارا جيدا لك، و لا يخفى عليك أنه مؤخرا فرص العمل في هذا المجال بالضبط أصبح لا يتطلب أي شهادة بقدر ما يتطلب خبرتك و مهاراتك. العديد من الشركات الكبيرة أيضا في مقابلات العمل لا تتطلب أي شهادة و لا تسألك عليها أصلا، بل كل ما يريدونه هو التفكير الصحيح و الطريقة المبتكرة في حل المشاكل. حتى في مجال العمل الحر لن يسألك أحد عن شهاداتك بقدر ما سيسألونك عن معرض إعمالك و المهارات التي تتقنها، يمكن أن يكون التعلم الذاتي وتطوير المشاريع العملية أكثر فائدة في بناء ملفك الشخصي والحصول على وظائف في مجال البرمجة. صحيح قد يكون هناك تحديات في كل من الخيارين، لكن الفهم الجيد لأهدافك الشخصية والمهنية سيساعدك في اتخاذ القرار الأمثل. يمكنك أن تطلع على هذا النقاش الذي يساعدك على تحديد رأيك: ما هو التعلم الذاتي؟ وهل استفدت منه؟
  24. صحيح، اللغات المفسرة تقوم بتحويل الشيفرة المصدرية مباشرة إلى تنفيذ، في حين تستخدم اللغات المترجمة مرحلة إضافية تقوم بترجمة الشيفرة إلى رمز آلة قبل التنفيذ. بالنسبة لسؤالك حول تحويل الشيفرة من لغات مفسرة أو مترجمة إلى لغة الآلة، يمكن أن يكون هذا ممكنا من خلال استخدام برامج تعرف باسم المترجمات (Translators) أو Decompilers، إلا أنه ينبغي الإشارة إلى أن هذه الأدوات قد تكون معقدة وغير دقيقة في بعض الأحيان، خاصة عند التعامل مع تفاصيل داخل البرنامج التي قد تفقد أثناء عملية الترجمة، و كما نعرف أن لغة الآلة حساسة جدا، بتغيير رقم واحد فقط من صفر إلى واحد يتغير المعنى بأكمله، و في هذه الحالة يصعب ايجاد مكان الخطأ. فيما يخص إمكانية التعديل أو التطوير، يمكن تحويل الشيفرة المصدرية بين لغات البرمجة باستخدام أدوات تحويل اللغات (Language Converters)، ولكن يجب أن يتم ذلك بحذر، حيث قد يتسبب التحويل في فقدان بعض المعلومات أو التغييرات في البنية البرمجية.
  25. الرسالة التي تظهر تشير إلى أنك تقوم بتعديل قيمة في DataFrame على نسخة من البيانات، وهو ما يمكن أن يؤدي إلى مشكلات في بعض الحالات، يمكنك محاولة تجنب هذا الخطأ عن طريق استخدام loc لتحديد الصفوف والأعمدة المحددة. في السطور الأخيرة من الكود، قم بتغيير هذا السطر: self.searjh["التقدير"] = self.nT.apply(lambda x: 'A' if x >= 85 else 'Other') إلى: self.df.loc[self.df['إسم الطالب'] == str(self.label_Title.cget("text")), "التقدير"] = self.df.loc[self.df['إسم الطالب'] == str(self.label_Title.cget("text")), 'نتيجة المادة'].apply(lambda x: 'A' if x >= 85 else 'Other') هذا التعديل يستخدم loc لتحديد الصفوف التي تلبي شرط "إسم الطالب" ويعدل القيمة في عمود "التقدير" بناءا على الشرط المحدد.
×
×
  • أضف...