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

مسعود زاهي

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

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

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

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

    1

كل منشورات العضو مسعود زاهي

  1. مرحبا ميلاد، نحن لا نقوم بحل التمارين الخاصة بكم ولكن نقوم بمساعدتكم على حلها وتصحيح الأخطاء إن وُجدت. اتبع هذه الخطوات لحل هذا التمرين: قم بتعريف هيكل بيانات Car يحتوي على الخصائص التالية: name (اسم السيارة)، carNumber (رقم السيارة)، price (سعر السيارة)، color (لون السيارة). قم بتعريف ثابت SIZE ليكون حجم المصفوفة التي ستحتوي على بيانات السيارات. قم بتعريف دالة readCarsData لقراءة بيانات السيارات من المستخدم. في هذه الدالة، استخدم حلقة for للتكرار على جميع عناصر المصفوفة واستخدم العبارات cin لقراءة البيانات من المستخدم. قم بتعريف دالة printCarsData لطباعة بيانات السيارات. في هذه الدالة، استخدم حلقة for للتكرار على جميع عناصر المصفوفة واستخدم العبارات cout لطباعة البيانات. قم بتعريف دالة countCarsWithPriceAbove لإيجاد عدد السيارات التي يكون سعرها أعلى من 20000. في هذه الدالة، استخدم حلقة for للتكرار على جميع عناصر المصفوفة واستخدم شرط if لزيادة العداد بواحد إذا كان سعر السيارة أعلى من 20000. قم بتعريف دالة printCarDataByNameAndColor لطباعة بيانات سيارة معينة بناءً على اسم السيارة ولونها. في هذه الدالة، استخدم حلقة for للتكرار على جميع عناصر المصفوفة واستخدم الشروط if للتحقق مما إذا كانت السيارة تطابق الاسم واللون المعطين كمدخل، وإذا كانت متطابقة، قم بطباعة بياناتها. قم بتعريف دالة sortCarsByPrice لترتيب بيانات السيارات ترتيبًا تصاعديًا بناءً على السعر. يمكنك استخدام أحد خوارزميات الفرز المعروفة مثل فرز الاندماج (Merge Sort) أو فرز الاختيار (Selection Sort) أو أي خوارزمية فرز تناسب احتياجاتك. قم بتعريف دالة countCarsByName لإحصاء عدد السيارات التي تحمل اسمًا معينًا يتم إدخاله بواسطة المستخدم. في هذه الدالة، استخدم حلقة for للتكرار على جميع عناصر المصفوفة واستخدم شرط if لزيادة العداد بواحد إذا كان اسم السيارة يطابق الاسم المعطى. قم بكتابة main دالة لتجميع الأمور معًا. في الدالة main، قم بتعريف مصفوفة من السيارات واستخدم الدوال التي تم تعريفها لقراءة البيانات، طباعتها، إيجاد عدد السيارات بأسعار أعلى من 20000، طباعة بيانات سيارة معينة بناءً على الاسم واللون، وترتيب البيانات ترتيبًا تصاعديًا بناءً على السعر. بالتوفيق.
  2. عليكم السلام مرحبا وليد، خطأ "Read timed out" يحدث عندما يستغرق عملية تنزيل الحزمة باستخدام أداة pip وقتًا طويلاً جدًا للاتصال بمصدر التنزيل. هذا الخطأ قد يحدث بسبب اتصال ضعيف بالإنترنت أو تأخر في استجابة خادم التنزيل. في حالة حدوث الخطأ مرة أخرى حاول استعمال بيئة افتراضية جديدة وقم بتنزيل التطبيقين فيها. بالتوفيق.
  3. مرحبا آلاء، الخطأ ModuleNotFoundError: No module named 'exceptions' يشير لعدم تثبيت الحزمة python-docx في البيئة التي تعملين عليها. للتأكد من أن الحزمة python-docx مثبتة يرجى كتابة الأمر: pip show python-docx إذا كان هذا السؤال تابع لإحدى الدورات الخاصة بالأكاديمية فرجاءً طرحه تحت فيديو الدرس وشكراً. بالتوفيق.
  4. إذا كان لديك برنامج يستخدم رخصة GPL، فإن ذلك يعني أن أي برنامج يتم إنشاؤه من خلال استخدام الشفرة المصدرية لهذا البرنامج يجب أن يتبع نفس الرخصة. وبمعنى آخر، فإن أي شخص يقوم بتوزيع البرنامج المشتق - الذي تم إنشاؤه باستخدام البرنامج الأصلي - يجب أن يوفر الشفرة المصدرية للبرنامج المشتق ويجب أن يتم توزيعه تحت نفس رخصة GPL. وبما أن GPL هي رخصة تتطلب توزيع البرنامج المشتق تحت نفس الرخصة، فإنه من الصعب أن تتوافق مع بعض الرخص الأخرى التي تسمح بتوزيع البرنامج المشتق تحت رخصة مختلفة. على سبيل المثال، إذا تم استخدام شفرة المصدر المفتوحة التي تستخدم رخصة Apache، فإن ذلك يعني أن أي برنامج مشتق يمكن توزيعه تحت رخصة أخرى وليس بالضرورة تحت رخصة GPL. لذلك، إذا كنت ترغب في استخدام برنامج مشتق تم إنشاؤه باستخدام رخصة Apache، فسيتعين عليك التأكد من توافق رخصة Apache مع GPL قبل استخدامها في أي برنامج تتبع هذه الرخصة. وفي النهاية، يجب أن تتحقق من شروط الرخصة التي تستخدمها قبل استخدامها في أي برنامج. ويمكن للمطورين الاستفسار عن أي شبهات فيما يتعلق بتوافق الرخصة أثناء تطوير برامجهم.
  5. توافق مع GPL يعني الالتزام بشروط رخصة البرمجيات الحرة العامة GNU (GNU General Public License) التي تنظم استخدام وتوزيع البرمجيات ذات المصدر المفتوح. وتشترط رخصة GPL أن يتم تضمين الشروط نفسها في أي برنامج يستخدم هذه الرخصة، وأن يكون البرنامج المشتق أيضًا تحت نفس الرخصة. كما تضمن الرخصة حقوق الأفراد في تعديل ونسخ وتوزيع البرنامج المفتوح المصدر، وبشكل عام تهدف رخصة GPL إلى حماية حقوق المستخدمين وضمان حرية استخدام البرمجيات المفتوحة المصدر. لذلك، فإذا كنت تستخدم برمجية مفتوحة المصدر تحت رخصة GPL، فعليك الالتزام بشروط الرخصة وتضمينها في أي برنامج تستخدمه أو توزعه، وإذا قمت بإجراء أي تعديلات على البرمجية، فيجب أن توزعها أيضًا تحت نفس الرخصة.
  6. وعليكم السلام، يبدو أن الخطأ الذي تواجهه يرجع إلى عدم وجود lightGBM في المسار الصحيح الذي يستخدمه Python عند البحث عن المكتبات المثبتة. لحل هذه المشكلة، يمكنك محاولة الخطوات التالية: التأكد من أنك قمت بتثبيت lightGBM باستخدام pip بنجاح. يمكنك التحقق من ذلك باستخدام الأمر التالي في موجه الأوامر: pip show lightgbm سيتم عرض معلومات حول lightGBM ومسار تثبيته. كما تأكد من أنك تقوم بالعمل على البيئة التي ثبت فيها lightGBM سواء البيئة الافتراضية أو البيئة العامة. بالتوفيق.
  7. على الرغم من أن بايثون يوفر الكثير من المكتبات والإطارات لتطوير تطبيقات الويب، إلا أنه من الضروري أن تتعلم لغات الويب الأخرى مثل HTML وCSS و JavaScript لتطوير تطبيقات الويب بشكل كامل. HTML هي لغة توصيف النص الهيكلي والمحتوى لصفحات الويب وتستخدم لإنشاء العناصر المختلفة مثل الصور والنصوص والجداول وغيرها. CSS هي لغة تنسيق العرض وتستخدم لتعديل تنسيق صفحات الويب وجعلها أكثر جاذبية وأناقة. JavaScript هي لغة برمجة الويب الأساسية وتستخدم لجعل صفحات الويب تفاعلية وديناميكية ولإضافة العناصر المختلفة مثل الحركة والتحقق من البيانات وغيرها. بالتوفيق.
  8. نعم، بايثون تدعم تطوير تطبيقات الويب. يمكن استخدام بايثون لإنشاء مواقع الويب وتطبيقات الويب باستخدام العديد من الإطارات والمكتبات المختلفة المتاحة في بايثون، مثل Django و Flask و Pyramid و CherryPy وغيرها. باستخدام إطارات العمل الخاصة بـ Python، يمكن للمطورين بسهولة إنشاء مواقع الويب التفاعلية، و تطبيقات الويب، وحتى الواجهات البرمجية للتطبيقات (APIs)، وغير ذلك الكثير. ويمكن استخدام بايثون مع تقنيات الويب الحديثة مثل HTML5 وCSS3 وJavaScript وغيرها. يمكنك التعرف أكثر على إطار العمل Django من خلال العديد من المقالات في أكاديمية حسوب تجدها في هذا الرابط. كما يمكنك التعرف على Flask أيضا من الرابط. وأيضا توفر أكاديمية حسوب دورة تطوير التطبيقات باستخدام لغة Python يمكنك التعرف عليها من الرابط. بالتوفيق.
  9. عندما تتعلم ال HTML و CSS و JavaScript، فإنك تمتلك أساسًا قويًا لتطوير مواقع الويب الأساسية. ولكن هناك الكثير من الأشياء التي يمكنك القيام بها لتحسين مهاراتك وإثراء خبراتك في هذا المجال. وهنا بعض الاقتراحات: تعلم إطارات العمل (Frameworks): هناك الكثير من الإطارات الشهيرة مثل React و Angular و Vue.js. يمكنك تعلمها واستخدامها لتطوير تطبيقات الويب المتقدمة. تعلم لغات البرمجة الخلفية (Backend programming languages): تعلم لغات البرمجة الخلفية مثل PHP و Ruby و Python و Node.js. هذه اللغات تستخدم لتطوير المنطق والوظائف التي تحدث في الخلفية من الموقع. تعلم قواعد البيانات (Databases): قواعد البيانات مهمة لتخزين البيانات في المواقع، ويمكنك تعلم SQL و MySQL و MongoDB لتطوير تطبيقات الويب الأكثر تعقيدا. تعلم تصميم المواقع وتجربة الأدوات (Web Design and Tools): يمكنك تعلم تصميم المواقع واستخدام الأدوات المختلفة مثل Adobe Photoshop و Sketch و Figma وغيرها لتصميم مواقع جميلة وفعالة. بناء مشاريع الويب الكاملة (Full-stack web projects): يمكنك بناء مشاريع الويب الكاملة لتطبيق ما تعلمته من HTML و CSS و JavaScript ولغات البرمجة الخلفية وقواعد البيانات. هذا سيساعدك على تعزيز خبراتك وإثبات قدراتك. البدء في التدوين أو إنشاء الفيديوهات لمشاركة ما تعلمته وخبراتك مع المجتمع الأوسع وتطوير مهاراتك في التواصل والشرح. الانضمام إلى المجتمعات البرمجية (Coding communities): يمكنك الانضمام إلى المجتمعات البرمجية
  10. مرحبا شفيق، أرفق صورة الخطأ الذي يظهر لك عند محاولة تشغيل السرفر حتى نستطيع مساعدتك. بالتوفيق.
  11. مرحبا زينة، يجب عليك إضافة الروابط التي أشرت إليها في الإجابة السابقة: urlpatterns = [ url( r'^center-autocomplete/$', CenterAutocomplete.as_view(), name='center-autocomplete', ), url( r'^doctor-autocomplete/$', DoctorAutocomplete.as_view(), name='doctor-autocomplete', ), ] وفي حالة قمت بإضافة الروابط ومازالت المشكلة قائمة قومي بمشاركة الشيفرة الخاصة بك على شكل ملف مضغوط حتى نتمكن من مساعدتك أكثر ومعرفة مصدر الخطأ. تحياتي.
  12. توجد عدة طرق لحذف المسافات من السلاسل النصية: يمكنك استخدام التابع Replace str = str.Replace(" ", string.Empty); حيث str هو السلسلة النصية. عن طريق انشاء سلسلة نصية جديدة خالية من المسافات باستخدام الشيفرة التالية: string new_string = new string(str.ToCharArray() .Where(c => !Char.IsWhiteSpace(c)) .ToArray());
  13. قد يكون شيء آخر يمنع الأدمن من الدخول. يمكنك معرفة كل المستخدمين الذين يملكون صلاحيات الأدمن وهم في حالة نشطة ( is_active=True) من خلال سطر الأوامر: python manage.py shell >>> from django.contrib.auth.models import User # نقوم باستدعاء نموذج المستخدمين >>> User.objects.filter(is_staff=True).values("username", "is_active") # معرفة المستخدمين الذي يملكون صلاحيات الأدمن
  14. لإنشاء أدمن جديد عن طريق واجهة الأدمن عليك بإنشاء مستخدم جديد بعدها التعديل عليه واختيار Staff status في حالة توفرها لديك أو اختيار Superuser status إذا كنت تريدين جعله كسوبر أدمن.
  15. مرحبا زينة، قومي بإنشاء أدمن جديد باستخدام الأمر: python manage.py createsuperuser وجربي الدخول به، وأخبرينا بالنتيجة.
  16. مرحبا زينة، ماهو الخطأ الذي يظهر لك عند محاولة الدخول باستخدام الأدمن الجديد ؟
  17. مرحبا ابراهيم، سبب عدم عمل الصوت هو المسار الذي وضعته لملف الصوت: winsound.PlaySound('data\yes.wav', 1) إذ يجب عليك كتابته على الشكل التالي: winsound.PlaySound('data\\yes.wav', 1) كما يجب عمل elif في الشرط الثاني: if self.result != self.letter: #هنا elif self.result != self.letter: # الأصح بالتوفيق.
  18. مرحبا علي، للحصول على الرسائل الموجودة في الجدول chat بدون رسائل المحضورين يكفي عمل الإستعلام الآتي: SELECT * FROM chat WHERE user not in (SELECT user2 from block WHERE user1=user_id) /* user_id: هو الايدي الخاص بالمستخدم الحالي */ بالتوفيق.
  19. مرحبا زينة، يجب أولا إعطاء معرف id خاص لكل حقل: <input id="latitude" type="text" name="latitude" value=""> <input id="longitude" type="text" name="longitude" value=""> ثم ملأ هذه الحقول في الدالة showPosition على الشكل التالي: function showPosition(position) { x.innerHTML = "Latitude: " + position.coords.latitude + "<br>Longitude: " + position.coords.longitude; document.getElementById("latitude").value= position.coords.latitude; document.getElementById("longitude").value= position.coords.longitude; } بالتوفيق.
  20. مرحبا ابراهيم، هل يمكنك مشاركة الملف الذي تريد تشفيره لتجريب الشيفرة ؟ شكرا لك.
  21. الأمر يتطلب مهارات متقدمة في برمجة الويب. لأن الفلترة تتم بصفة آنية أي يجب استخدام الجافاسكربت للإتصال بالسرفر وتمرير اسم المركز المختار والسرفر يقوم بإرجاع قائمة الأطباء المنتمين له. أسهل طريقة للوصول لذلك هو باستخدام المكتبة django-autocomplete-light على الشكل التالي: 1- تثبيت المكتبة: pip install django-autocomplete-light 2- إضافة المكتبة إلى ملف الإعدادات في INSTALLED_APPS: 'dal', 'dal_select2', 'django.contrib.admin', # ضعي المكتبات فوق هذه المكتبة 3- تعريف دوال عرض جديدة تقوم بجلب اسماء المراكز واسماء الدكاترة: class CenterAutocomplete(autocomplete.Select2QuerySetView): def get_queryset(self): if not self.request.user.is_authenticated: return Center.objects.none() qs = Center.objects.all() if self.q: # هنا نقوم بفلترة النتائج الخاصة بالمراكز qs = qs.filter(name__istartswith=self.q) # نقوم بالفلترة باستخدام name return qs class DoctorAutocomplete(autocomplete.Select2QuerySetView): def get_queryset(self): if not self.request.user.is_authenticated: return Center.objects.none() qs = Center.objects.all() center = self.forwarded.get('center', None) if center: qs = qs.filter(center__id=center) # نقوم بفلترة الدكاترة باستخدام اسم المركز if self.q: qs = qs.filter(name__istartswith=self.q) # return qs 4- نقوم بإنشاء روابط لهذه الدوال في ملف urls.py: urlpatterns = [ url( r'^center-autocomplete/$', CenterAutocomplete.as_view(), name='center-autocomplete', ), url( r'^doctor-autocomplete/$', DoctorAutocomplete.as_view(), name='doctor-autocomplete', ), ] 5- نقوم بإضافة هذه الروابط إلى النموذج الخاص بنا وتغيير ال widget: class AppointmentForm(forms.ModelForm): class Meta: model = Appointment fields = ('appointment_d','appointment_time', 'note','image','center','doctor') widgets = { 'center': autocomplete.ModelSelect2(url='center-autocomplete'), 'doctor': autocomplete.ModelSelect2(url='doctor-autocomplete', forward=['center']) } في حالة لم تشتغل معك الشيفرة قومي بإرفاق مشروعك على شكل ملف مضغوط وسوف نقوم بمساعدتك للوصول إلى النتيجة التي ترغبين بها. بالتوفيق.
  22. مرحبا زينة، هل الحقول Center و Doctor ضمن النموذج AppointmentForm أو معمولين مباشرة في القالب؟ تحياتي.
  23. عليك بتغيير الدالة addMarker على الشكل التالي: /* نقوم بتمرير متغير جديد إلى الدالة */ function addMarker(coords, specialization){ var icons; if( specialization =='Pharmacy' ){ icons= "{% static 'medical/assets/img/hero-bg.jpg' %}"; } else if ( specialization == 'Hospital'){ icons= "{% static 'medical/assets/img/about.jpg' %}"; } else if (specialization == 'Clinic'){ icons="{% static 'medical/assets/img/about.jpg' %}"; } else if (specialization == 'Health_Clinic'){ icons= "{% static 'medical/assets/img/logoph.png' %}" } var marker=new google.maps.Marker({ position:coords, type: "info",///////Specialization map:map, icon: icons }); } واستدعاءها على الشكل: {% for location_center in Marker %} addMarker({lat: {{location_center.lat}},lng:{{location_center.lng}}} , "{{location_center.Specialization}}"); {% endfor %} بالتوفيق.
  24. في هذه الحالة عليك مراجعة الشيفرة بشكل كامل. مافائدة المتغير Marker هل هو عبارة عن قائمة (list) ؟ أو عبارة عن قيمة وحيدة. ومتى يتم استدعاء الدالة addMarker في القالب.
  25. مرحبا زينة، حاولي وضع القيمة {{location_center.Specialization}} بين " " واستعمال == بدل = على الشكل التالي: if ("{{location_center.Specialization}}" == "Hospital") وأخبرينا بالنتيجة.
×
×
  • أضف...