🐍 محرر أكواد بايثون

اكتب كود بايثون وشغّله مباشرة داخل المتصفح. يمكنك حفظ الكود تلقائيًا، ونسخ النتيجة بسهولة.

جاهز
تلميح: اكتب print() لعرض النتائج.
🖥️ النتيجة

محرّر بايثون في المتصفّح — لماذا هذا مهم؟

أُدرّس الحاسب، وأعرف أين تموت رغبة الطالب في تعلّم البرمجة: في اليوم الأول. ليس عند الحلقات ولا عند الدوال، بل عند تثبيت البرنامج. يفتح موقع بايثون، يحتار بين الإصدارات، يُنزّل ملفًا، يظهر خطأ في متغيّر البيئة، يبحث في يوتيوب… وبعد ساعتين لم يكتب سطرًا واحدًا، فيستنتج أن البرمجة صعبة. والحقيقة أنه لم يبدأ البرمجة بعد.

هذا المحرّر يحذف اليوم الأول كلّه. تفتح الصفحة، وتكتب، وتضغط «تشغيل» — انتهى. لا تثبيت، ولا حساب، ولا إعدادات. يعمل على جهاز المعمل في المدرسة، وعلى جوّالك في السيارة. وأول سطر تكتبه اليوم أهمّ من بيئة تطوير مثالية تُجهّزها الأسبوع القادم.

كيف تستعمله؟

  1. 1 اكتب كودك في المحرّر ستجد مثالًا جاهزًا لتبدأ منه. امسحه واكتب ما تريد — أو عدّل فيه.
  2. 2 اضغط «تشغيل» ▶️ أول تشغيل يأخذ ثوانيَ لتحميل بيئة بايثون، ثم يصير فوريًا.
  3. 3 اقرأ النتيجة على اليسار كل ما تطبعه بـ print() يظهر هناك. وإن أخطأت، ستظهر رسالة الخطأ نفسها.
  4. 4 اضغط «حفظ» 💾 يبقى كودك في متصفّحك فتجده حين تعود.

خمسة أخطاء يقع فيها كل مبتدئ — وحلّها في سطر

رسالة الخطأ ليست عقابًا، بل عنوان المشكلة. اقرأ آخر سطر فيها، وانظر إلى رقم السطر الذي تشير إليه. هذه أشهر خمس رسائل ستراها:

رسالة الخطأ معناها الحل
IndentationError المسافة البادئة خاطئة كل ما هو داخل if أو for يجب أن يزاح للداخل بأربع مسافات — بانتظام.
SyntaxError خطأ في الصياغة ابحث عن نقطتين ( : ) ناقصتين في نهاية سطر if أو for أو def، أو قوس لم يُغلق.
NameError اسم غير معروف كتبتَ اسم متغيّر لم تُعرّفه، أو غيّرت حرفًا: Name ليست name.
TypeError خلط بين نوعين جمعتَ نصًّا مع رقم. حوّل: int("5") + 3 أو str(3) + "نص".
ZeroDivisionError قسمة على صفر تحقّق من المقام قبل القسمة — وهذا تمرين ممتاز على الشروط.

خمسة تمارين متدرّجة — ابدأ من الأول

لا تقرأها فقط. اكتب كل تمرين بيدك في المحرّر أعلاه — الكود المنسوخ لا يُعلّم شيئًا. وقبل أن تضغط «تشغيل»، توقّع النتيجة. حين تتوقّع وتخطئ، تكون قد اكتشفت ثغرة في فهمك.

1. اطبع اسمك

استعمل print() لطباعة اسمك، ثم اطبع نصًّا ورقمًا في السطر نفسه.

2. آلة حاسبة

عرّف رقمين في متغيّرين، واطبع مجموعهما وحاصل ضربهما وباقي القسمة بينهما.

3. التقدير

عرّف متغيّر درجة، واستعمل if / elif / else ليطبع التقدير: ممتاز، جيد جدًا، جيد، راسب.

4. جدول الضرب

استعمل حلقة for لطباعة جدول ضرب رقم من 1 إلى 10.

5. أعلى درجة

أنشئ قائمة فيها درجات ستة طلاب، واطبع أعلى درجة وأدنى درجة والمتوسط.

أنهيتَ الخمسة؟ إذن أنت مستعدّ لمسار كامل مرتّب: مسار بايثون من الصفر ←

ما الذي لا يفعله هذا المحرّر؟

  • input() قد لا تعمل — لأن بايثون هنا داخل المتصفّح لا في نافذة طرفية. استبدلها بقيمة ثابتة أثناء التعلّم.
  • المكتبات الخارجية التي تحتاج الإنترنت أو الملفات لن تعمل. أمّا math وrandom وdatetime فتعمل.
  • لا يحفظ ملفات على جهازك — احفظ نسخة من كودك المهم بنفسك.

أقول لك هذا بصراحة لا اعتذارًا: هذه أداة تعلّم، لا بيئة إنتاج. وهي تكفي تمامًا لكل ما تحتاجه في سنتك الأولى مع بايثون.

🔒 كودك لا يغادر جهازك. التنفيذ يجري داخل متصفّحك، والحفظ في ذاكرة المتصفّح المحلية. لا يُرسل شيء إلى خوادمنا، ولا يُشترط تسجيل دخول.

أسئلة شائعة

لا. المحرّر يشغّل بايثون داخل متصفّحك نفسه عبر تقنية Pyodide، فلا تثبيت ولا إعدادات ولا مسارات. هذا يعني أنك تستطيع البرمجة من جهاز المدرسة أو من جوّالك. وحين تنتقل لاحقًا إلى مشاريع حقيقية، ستحتاج بايثون على جهازك — لكن ليس اليوم.
لأن بايثون هنا يعمل داخل المتصفّح لا في نافذة طرفية، وقراءة الإدخال من المستخدم ليست مدعومة بالطريقة المعتادة. وهذا ليس عيبًا فيك ولا في كودك. أثناء التعلّم، استبدل الإدخال بقيمة ثابتة: بدل name = input() اكتب name = "يوسف"، وسيعمل كل شيء. وحين تنتقل إلى بايثون على جهازك ستعمل input() طبيعيًا.
المكتبات الأساسية المدمجة (math، random، datetime، json وغيرها) تعمل. أمّا المكتبات التي تحتاج اتصالًا بالشبكة أو نظام الملفات فقد لا تعمل هنا. وهذا لا يعوق تعلّم الأساسيات إطلاقًا: المتغيّرات والشروط والحلقات والقوائم والدوال — وهي 90% مما تحتاجه في السنة الأولى.
في متصفّحك أنت فقط عند الضغط على «حفظ» — لا يُرسل إلى أي خادم ولا نطّلع عليه. لكن انتبه: مسح بيانات التصفّح يمحوه. إن كتبت شيئًا تفتخر به، انسخه إلى ملف عندك.
لأن بايثون لا يطبع شيئًا ما لم تطلب منه. الحساب يحدث في الذاكرة بصمت. اكتب print() حول ما تريد رؤيته: print(x) لا x وحدها. رسالة «تم التنفيذ بدون مخرجات» تعني أن كودك عمل بنجاح ولم تطلب طباعة شيء.
لا. في أول ضغطة على «تشغيل» يُنزّل المتصفّح بيئة بايثون كاملة (وهي عدّة ميغابايت)، فتأخذ ثوانيَ. بعدها تكون كل التشغيلات فورية ما دامت الصفحة مفتوحة.