سؤال 2: اكتب ناتج تنفيذ المقطع البرمجي الآتي: f=open("file.txt", "w") f.write("Riyadh") f.write("\n 2023") f=open("file.txt", "r") print(f.read()) f.close()
الإجابة: Riyadh 2023
خطوات الحل:
- | الخطوة | الوصف | الوضع | الإجراء | |--------|-------|--------|--------| | 1 | فتح الملف للكتابة | `"w"` | `f=open("file.txt", "w")` | | 2 | كتابة النص الأول | - | `f.write("Riyadh")` | | 3 | كتابة سطر جديد والنص الثاني | - | `f.write("\n 2023")` | | 4 | إعادة فتح الملف للقراءة | `"r"` | `f=open("file.txt", "r")` | | 5 | قراءة المحتوى كاملاً | - | `print(f.read())` | | 6 | إغلاق الملف | - | `f.close()` |
- **المبدأ المستخدم:** التعامل مع الملفات النصية في لغة **بايثون** باستخدام الدالة `open()` مع تحديد **وضع** الفتح (`"w"` للكتابة، `"r"` للقراءة).
- 1. عند تنفيذ `f=open("file.txt", "w")`، يتم إنشاء ملف جديد باسم `file.txt` (أو فتحه ومسح محتواه السابق إن وجد) للكتابة. 2. `f.write("Riyadh")` يكتب السلسلة النصية **"Riyadh"** في الملف. 3. `f.write("\n 2023")` يكتب محرف **سطر جديد (`\n`)** متبوعًا بالسلسلة النصية **" 2023"** (تبدأ بمسافة) في نفس الملف مباشرة بعد "Riyadh". 4. بعد إغلاق الملف ضمنيًا عند إعادة تعيين المتغير `f`، يتم تنفيذ `f=open("file.txt", "r")` لفتح نفس الملف للقراءة. 5. `f.read()` تقرأ **جميع** محتويات الملف وتعيدها كسلسلة نصية واحدة. 6. `print(f.read())` تعرض هذه السلسلة النصية على الشاشة. > **ملاحظة:** السلسلة الناتجة تحتوي على محرف السطر الجديد (`\n`) بين الكلمتين، مما يجعلهما يظهران في سطرين منفصلين عند الطباعة.
- **الناتج النهائي المعروض على الشاشة سيكون:** Riyadh 2023