لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 03/15/23 في كل الموقع
-
my first project.zipهذا اول موقع كامل اعمله وهذا يومي الحادي عشر في css هل التصميم جيد قمت بعمله بيوم واحد اليوم (مستيقض من الساعة الثانية والنصف صباحا 😅) علما ان التصميم كان ريسبونسف للجوال لكن انطفأ حاسوبي ولم يعد الموقع ريسبونزم هل تستطيعون ان تقول لي السبب اي ملاحضات او نصائح شكرا جدا2 نقاط
-
هل بعد هذي الدورة استطيع ان اسمي نفسي مبرمج محترف؟ وان اجد وظيفة ان شاء الله بعد اتمامي لهذي الدورة؟1 نقطة
-
ما الفرق بين اني اشفر الصوره بتشفير base64 واحفظها بقواعد البيانات وعندما اجلبها frontend افك التشفير والفرق اني احفظ فقط اسم الصوره وعند جلبها استخدم API برابط الملف في ال server واي منهم افضل مع العلم اني استخدم Multer في nodejs لاجل رفع الصوره1 نقطة
-
أحاول عرض أخطاء النموذج الخاص بي التي أقوم بإنشائها مع التحقق من الصحة ولكن لا يظهر أي شيء على الشاشة عندما يكون لدي خطأ, لقد جربت @dump(Session::has('status')) @dump($errors-\>any()) دالة تسجيل الدخول public function login(Request $request) { $credentials = $request->validate([ 'email' => 'email|max:90|required', 'password' => 'required|min:6', ]); if (Auth::attempt($credentials, true)) { $accessToken = auth()->user()->createToken('authToken')->plainTextToken; return redirect('/home')->withCookie('auth_token', $accessToken); } else { $notification = 'L\'email ou le mot de passe est incorrecte'; return back()->with('status', $notification); } } form <form action="{{ url('/authentification') }}" class="request-form ftco-animate bg-primary"method="POST"> @csrf <h2>Connexion</h2> @if ($errors->any()) <div class="alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif @if (Session::has('status')) <div class="alert alert-danger"> {{ Session::get('status') }} </div> @endif <div class="form-group"> <label for="" class="label">Email</label> <input type="text" class="form-control" placeholder="Email" name="email"> </div> <div class="form-group mr-2"> <label for="" class="label">Mot de passe</label> <input type="password" class="form-control" placeholder="**********" name="password"> </div> <div class="form-group"> <input type="submit" value="Connexion" class="btn btn-secondary py-3 px-4"> <a href="{{ url('/register') }}" class="text-center" style="color: white;">Pas encore de compte ?</a> </div> </form>1 نقطة
-
تشفير الصورة إلى base64 يجعلها اكبر من حجمها الطبيعي وبالتالي سيصبح لديك ضعف في الأداء أثناء جلب الصور. وكذلك الامر فإن السيرفر سيحتاج إلى جلب الصورة من قاعدة البيانات ومن ثم إرسالها إلى المستخدم بدلاً من ارسالها مباشرةً من نظام الملفات. الافضل هو استخدام الـ Api بالتأكيد، والافضل من ذلك هو استخدام Api من طرف خارجي مثل cloudinary. قد يفيدك النقاش التالي :1 نقطة
-
يعتمد الخيار الأنسب على حجم ونوع الملفات التي تريد حفظها وتحميلها، وحجم قاعدة البيانات الخاصة بك، ومدى قوة الاتصال بالشبكة. إذا كانت الصورة تتميز بحجم كبير، فإن استخدام التشفير base64 لتخزينها في قاعدة البيانات قد يتسبب في بطء أداء النظام. وعلى الجانب الآخر، إذا كان حجم الصورة صغيراً، فيمكن استخدام التشفير base64 وتخزينها مباشرة في قاعدة البيانات دون الحاجة إلى الاتصال بخادم API. ومن جهة أخرى، إذا كنت تستخدم خوادم API، فإن استخدام رابط الملف المباشر قد يعزز أداء نظامك عند تحميل الصورة، حيث أن الخادم الخارجي سيكون مسؤولاً عن إرسال الصورة إلى المستخدم مباشرة، وسيساعد في تقليل حجم قاعدة البيانات الخاصة بك. فإذا كانت الصورة كبيرة الحجم أو تستخدم بشكل متكرر، فمن المستحسن تخزينها كملف مباشر على خادم API. وإذا كانت الصورة صغيرة الحجم، فإن تشفيرها باستخدام base64 وحفظها مباشرة في قاعدة البيانات هو الخيار الأفضل.1 نقطة
-
تنفيذك للمشروع رائع جداً ويظهر بشكل جميع ورائع . هناك ملاحظة في الصور ، طالما أن ملف HTML ليس بداخل مجلد فلسنا بحاجة وضع .. <img src="../images/a.jpg" alt=""> لذلك من أجل ظهور الصور نقوم بعمل التالي ، اي حذف /.. <img src="images/a.jpg" alt=""> وكذلك ينطبق الأمر في ملفات css <link rel="stylesheet" href="./css/style.css"> <!-- normalize the css --> <link rel="stylesheet" href="./css/normalize.css"> <!-- icon css --> <link rel="stylesheet" href="./css/all.min.css"> يجب تعديلها لتصبح <!-- main css file --> <link rel="stylesheet" href="css/style.css"> <!-- normalize the css --> <link rel="stylesheet" href="css/normalize.css"> <!-- icon css --> <link rel="stylesheet" href="css/all.min.css"> كما أنك تحتاج إلى إضافة مسافة بين أيقونات التواصل الإجتماعي في الفوتر أسفل الصفحة . كما أن الاكواد تظهر بشكل مرتب ومفهوم وفي حال أردنا التعديل عليها سوف نقوم بالتعديل بكل سهولة .1 نقطة
-
المشكلة في العنصر contact-content حيث اعطيته padding من اليمين واليسار بقيمة 600 بيكسل ولذلك فلن يكون متناسب مع جميع الشاشات ولاسيما الشاشات الاصغير من 600 بيكسل. لحل المشكلة جرب تعديل الكود للشكل التالي : .contact-content { display: flex; align-items: center; height: 300px; width: 200px; flex-wrap: wrap; justify-content: center; margin: auto; }1 نقطة
-
راودني سؤال في الاونة الاخيرة بعدما قرات شروط التقديم طلب للحصول على الشهادة وللتوضيح انا غير مستعجل انما اريد ان اكمل الدورة وانا مدرك لجميع المفاهيم كما انني اريد ان احقق اقصى درجة من الاستفادة من الدورة لاعزز بداخلي المعلومات واعمل على تطوير المهارات اللازمة لانجح في هذا المجال ان شاء الله ، سؤالي هو انا الطالب امين مقيم في فلسطين محافظة القدس في حال نجحت بالاختبار ان شاء الله كيف يمكنني الحصول على الشهادة هل بامكاني طباعتها من خلال تحويل الملف ل مكاتب مختصة بالطباعة او هل من الممكن ارسال الشهادة لصندوق بريد في القدس ، راودني السؤال لانني اقع بدولة محتلة ومنقسمة ، ولكي احاول التعامل مع الامر بعد اكمال الدورة وكالعادة شكرا لاكاديمية حاسوب وجميع المشرفين عليها من اساتذة وطلاب وتقنيين ♡ والسلام عليكم .1 نقطة
-
شكرا لك اخي اسامة على توضيحك . لدي ملاحظة اخرى ، في قراتي للمكتوب المسجل حول الشهادة انها تحتوي على ختم وباركود اذا ما طبعتها من قبل مكتبات طباعة الشهادات هل ستحتوي على الختم والباركود ؟1 نقطة
-
1 نقطة
-
اعتقد ان سبب المشكلة هو انك تحاول إضافة after إلى العنصر من النوع img. وهذا غير صحيح في CSS. لحل المشكلة جرب الكود التالي : <div class="col"> <div class="imageContainer"> <img src="../images/a.jpg" alt=""> </div> </div> وفي css : .imageContainer { width: 260px; position: relative; text-align: center; } .imageContainer img { width: 100%; } .imageContainer::after { content: ""; display: block; width: 80px; height: 100%; background-color: var(--scolor); top: 0; right: 0; position: absolute; } حيث اضفنا حاوية جديدة تحتوي على الصورة و الـ after.1 نقطة
-
طريقة التعلم تختلف من شخص لأخر لذلك لا تقلق و لا تضيع وقتك في مثل هذه الأسئلة فليس هناك أفضل طريقة, إذا كنت تستفيد من طريقتك فلا تغيرها. ولكن من وجهة نظري, من الأفضل بالتأكيد الاستمرار على نفس النمط الذي تتبعه الآن. لكن إذا كان الوقت الذي تقضيه في التطبيق يبدو كثيراً عليك ، يمكنك محاولة تحليل سبب ذلك ، وتحديد المشكلة التي تواجهها في التطبيق ، ثم العمل على معالجة تلك المشكلة. و يمكنك مشاهدة الفيديو وتطبيقه خلال نفس الجلسة ، أو القيام بذلك في جلسة تطبيق منفصلة. المهم في النهاية أن تفهم الدرس فالطريقة التي تستخدمها ليس مهمة, ولا تخاف من تضيع الوقت (فهذه مشكلة المبتدئين) فقط تعلم و قم بالتطبيق علي ما تعلمته. هذا الفيديو يوضح الموضوع بتفصيل أكثر. يمكنك تصفح هذه النقاشات لوجهات نظر أخري. هل الوقت مهم في تعلم البرمجه - حسوب I/O (hsoub.com)1 نقطة
-
في البداية أنصحك بإنشاء المواقع بالطريقة الطبيعية وباللغة الإنجليزية، إلا في حال كنت تتابع إحدى الدورات مثل دورات حسوب. وذلك لسبب معين، وهو تجنب بعض المشاكل الخاصة بتحويل الإتجاه من LTR إلى RTL، فأنت بحاجة إلى تعلم كيف يتم ذلك وهو أمر أجده مشتت لك في بداية تعلمك إلا إذا كنت تتابع مع دورة معينة ومدرب جيد، لذلك بعد إنشاء موقعك الأول بنجاح، يمكنك تحويله إلى اللغة العربية أو بناء موقع آخر وتطبيق ما تريده. وأنصحك بشدة بقراءة الدليل التالي: RTL Styling 101 دليل مكثف لكيفية كتابة CSS للمواقع من اليمين إلى اليسار. أو يمكنك استخدام Bootstrap وبخصوص التصميمات والاستلهام أنصحك بقراءة الإجابات على السؤال التالي:1 نقطة
-
لا داعي للقلق فهذا أمر طبيعي جدًا، وأنت في الطريق الصحيح طالما مازلت تحاول وتضع الوقت والجهد، في بداية تعلم البرمجة قد تقضي وقت أطول من ذلك في تطبيق محاولاً حل المشاكل التي تواجهك وتعلم أشياء جديدة أثناء البحث هنا وهناك. ولا يوجد إجابة صحيحة واحدة لهذا السؤال، فالوقت الذي تقضيه في تطبيق الدروس يعتمد على مستوى مهاراتك وخبرتك في البرمجة. إذا كنت مبتدئًا في البرمجة، فمن الأفضل لك أن تستمر في قضاء الوقت الذي تقضيه حاليًا في محاولة تطبيق الدروس وحل المشاكل التي تواجهك. وبمرور الوقت وزيادة مستوى خبرتك، قد تجد أنك تحتاج إلى وقت أقل لتطبيق الدروس. كل من ترك طريق البرمجة، لم يتمكن من تخطي تلك المرحلة الصعبة في البداية، لذلك ضع لنفسك خطة عمل لمدة 6 شهور إلى سنة والعمل بشكل يومي وشاهد النتيجة في النهاية. بالنسبة لأفضل طريقة لتعلم البرمجة، فستجد هنا في النقاش التالي إجابة على سؤالك: وأنصحك بقراءة الإجابات على الأسئلة التالية، فهى خاصة بك ومن المفيد قرائتها مرة أخرى: ومهما كانت الطريقة التي تناسبك، فمن المهم أن تتذكر أن التعلم يتطلب الصبر والمثابرة، وأنه من الممكن أن يستغرق الأمر وقتًا قبل أن تصبح ملمًا بالمفاهيم البرمجية وتتمكن من تطبيقها بسهولة.1 نقطة
-
،يجب عليك تثبيت ملحقات (extensions) لدعم اللغة التي تستخدمها. يمكنك البحث عن الملحقات المناسبة لـ C# في قسم Extensions من القائمة الجانبية في VS Code أو عن طريق زيارة موقع marketplace.visualstudio.com. يمكنك تثبيت الملحق المسمى C# من خلال النقر على زر الإضافات في الزاوية اليسرى السفلية من VS Code ، ثم البحث عن C# في شريط البحث. ستظهر قائمة بالملحقات المتاحة ، ويجب عليك اختيار الملحق الذي تريد تثبيته ، والضغط على زر "تثبيت". بعد تثبيت الملحقات ، يجب أن يظهر VS Code اقتراحات للكود المكتوب بلغة C# وسيساعدك على الانتهاء من مهمتك بسهولة. وأنصحك بتحميل الإضافة التالية: https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp تأكد أيضًا من تثبيت .NET Core SDK على جهاز الكمبيوتر الخاص بك. يمكنك القيام بذلك عن طريق زيارة موقع Microsoft وتنزيله من هناك. والخاصية التي تتحدث عنها بخصوص الإقتراحات، تدعى IntelliSense. ويمكن تفعيل ميزة IntelliSense في VS Code عن طريق التأكد من وجود الملحق المناسب للغة البرمجة التي تستخدمها. باستطاعتك تشغيل ميزة "IntelliSense" في أي نافذة محرر عن طريق الضغط على Ctrl+Space. وبالنسبة لمشكلة رسائل الخطأ التي تظهر لك، تحدث في ملفات المشروع (project files)، حيث أن OmniSharp يحاول تحديث ملفات المشروع التي لم تتم تحميلها (not loaded)، وهذا قد يكون بسبب عدم تعرف Visual Studio Code على ملفات المشروع بشكل صحيح. لحل المشكلة يمكنك المحاولة بالخطوات الآتية: التأكد من أن ملفات المشروع تم إضافتها بشكل صحيح في المجلد الصحيح. التأكد من تحميل وتثبيت المكونات اللازمة لـ Visual Studio Code لدعم لغة C# و Unity. تجربة إعادة بناء ملفات المشروع من الصفر باستخدام الأدوات المناسبة. ويمكنك البحث بنسخ رسالة الخطأ التي تظهر ورؤية الحلول المتاحة إن توافرت.1 نقطة
-
يمكنك أيضاً استخدام ال svg sprites في الأيقونات. حيث لها بعض الفوائد هي: تقليل عدد الطلبات HTTP لتحسين أداء الموقع تغيير حجم ولون وتأثيرات الأيقونات بسهولة باستخدام CSS تحسين جودة الصورة على جميع أحجام الشاشة دون فقدان التفاصيل دعم ألوان غنية وسجلات ألوان متوافقة ولاستخدام ال svg sprites يمكنك فقط إضافة الملفات ال sprites إلى أي مجلد لديك مثل مجلد الصور مثلاً الملفات التالية حسبة التنسيق المستخدم solid.svg regular.svg brands.svg الملفات السابقة هي المجانية فيمكنك إضافة الملف الذي ترغب باستخدامه والخطوة الأخيرة هو كتابة مسار الأيقونة كالتالي <svg> <use xlink:href="/المسار للملف/fa-brands.svg#facebook"></use> </svg> نكتب مسار الملف ثم اسم الملف ثم اسم الأيقونة فقط كما في المثال السابق1 نقطة
-
العفو أخي أحمد، أهلا بك، إذا فهمت سؤالك بشكل صحيح وأرجو توضيحه، يمكنك استخدام لغة C++ لإنشاء تطبيق يمكنك من تغيير المعلومات المكتوبة باليد في التقرير وحفظ النسخة النهائية على شكل صورة. لكن هذا يحتاج إلى خبرة في برمجة واجهات المستخدم ومعالجة الصور. يمكن استخدام مكتبات مثل OpenCV لمعالجة الصور وإدارة اللواحق (GUI) في C++ مثل Qt أو wxWidgets.1 نقطة
-
أولاً الأسئلة الخاصة بالإمتحانات لا يتم الإجابة عليها، ولكن يمكن إرشادك إلى طريقة الحل ومساعدتك. في السؤال لم يتم تحديد ما هي اللغة المراد تنفيذ المطلوب بها؟ علي أي حال، سأقوم بشرح طريقة الحل باستخدام C++ يمكن الحل بعدة طرق مختلفة، ولكن في الغالب يمكن تطبيق الحل التالي: 1- تعريف struct تحتوي على اسم العميل ورقم حسابه ورصيده. 2- إنشاء مصفوفة من الهيكل الذي تم تعريفه، وملئها ببيانات العملاء. 3- لطباعة أسماء العملاء الذين لديهم رصيد أقل من 200 دولار، يمكن استخدام حلقة for 4- لزيادة رصيد العملاء الذين لديهم أكثر من 1000 دولار، يمكن استخدام حلقة for أخرى وفحص رصيد كل عميل، وإذا كان رصيده أكثر من 1000 دولار ، فزيادة رصيده بـ $100 وطباعة الرصيد الجديد.1 نقطة
-
يمكن عرض بيانات جدول المستخدم في صفحة أخرى في Laravel باستخدام العديد من الأساليب، ولكن أحد الأساليب الشائعة هي استخدام العرض (View) والتحكم (Controller). في المثال التالي، سنفترض أن اسم الجدول المستخدم هو "users" وأننا نريد عرض بيانات المستخدمين في صفحة أخرى باستخدام العرض والتحكم. 1- ابدأ بإنشاء التحكم: يمكنك استخدام الأمر "php artisan make:controller" لإنشاء تحكم جديد. يمكن تسمية التحكم "UserController" ووضعه في المسار "app/Http/Controllers". php artisan make:controller UserController 2- قم بإضافة الدالة "index" إلى التحكم: في الدالة "index"، قم بجلب بيانات المستخدمين من جدول "users" باستخدام نموذج "User" وتمريرها إلى العرض "users". <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; class UserController extends Controller { public function index() { $users = User::all(); return view('users', compact('users')); } } 3- إنشاء العرض: قم بإنشاء عرض جديد باسم "users" ووضعه في المسار "resources/views". يمكن استخدام لغة العرض Blade للوصول إلى البيانات التي تم تمريرها من التحكم. <!-- resources/views/users.blade.php --> <!DOCTYPE html> <html> <head> <title>Users</title> </head> <body> <h1>Users</h1> <table> <thead> <tr> <th>Name</th> <th>Email</th> <th>Created At</th> <th>Updated At</th> </tr> </thead> <tbody> @foreach ($users as $user) <tr> <td>{{ $user->name }}</td> <td>{{ $user->email }}</td> <td>{{ $user->created_at }}</td> <td>{{ $user->updated_at }}</td> </tr> @endforeach </tbody> </table> </body> </html> 4- تعريف المسار: قم بتعريف المسار الذي سيتم استخدامه لعرض بيانات المستخدمين في ملف "web.php" في المسار "routes". <?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\UserController; Route::get('/users', [UserController::class, 'index']); 5- اختبار الصفحة: الآن يمكنك اختبار صفحة عرض المستخدمين بالانتقال إلى المسار "/users" في متصفح الويب. يجب عرض جميع بيانات المستخدمين في الجدول.1 نقطة
-
يوجد أكثر من طريقة لتعلم البرمجة منها الطريقة الأكاديمية وطريقة التعليم الذاتي, وبما أنك تتعلم بالطريقة الذاتية فهذه بعض النصائح لك. أنا لا أظن أن هذه الطريقة جيدة سوف أشرح لك لماذا, البرمجة كائن متكامل بمعني لا يجب عليك التطبيق علي الfunctions بمفردها و ال classes بمفردها بل يجب عليك التطبيق علي مشاريع متكاملة تستخدم فيها functions و classes و variables و إلخ. أنا أشبه البرمجة باللغة الأنجليزية, في اللغة الأنجليزية من الخطأ أن تتعلم الكلمة بمفردها بل يجب عليك وضعها في جملة حتي يتضح معناها وكذالك في البرمجة لا يجب عليك التطبيق علي جزء معين فقط بل من الأفضل أن تطبيق علي مشروع كامل حتي لو كان صغير. أري أن هذه الطريقة أفضل من الطريقة الأخري ولكن يفضل أن تشاهد الكورس كاملاً وليس أول كام فيديو. سوف أشرح لك طريقتي في تعلم الكورسات البرمجية. أشاهد الكورس كاملاً حتي أفهم كل ما فيه حتي إذا احتجت إلى مصادر خارجية (المهم أن أخرج من الدرس وأنا قد فهته بالكامل). أقوم بالتطبيق علي كورس (من خلال كورس أخر أو من خلال نفس الكورس إذا كان الكورس يقوم بعمل تطبيق ) مثلا أنا أتعلم الأن لغة PHP بعد تعلمها سوف أبحث عن كورس يقوم بعمل مشروع بسيط بال PHP فقط, سوف أقوم بالتطبيق مع هذا الكورس. سوف أقوم بعمل مشروع مثل المشروع الذي قمت بالتطبيق عليه مع إضافة ميزة أو أثنان (حتي لا أقع في حفرة Tutorial hell). وفي النهاية أقول أنه لايوجد طريقة خطأ ولكن هناك طريقة أفضل من أخري.1 نقطة
-
«السلسلة النصية» (string) هي مجموعة من المحارف (أي الأحرف والأرقام والرموز) التي إما أن تكون قيمة ثابتة أو قيمة لمتغير. وهذه السلاسل النصية مُشكَّلة من محارف يونيكود (Unicode) والتي لا يمكن تغيير مدلولها. ولأنَّ النص هو شكلٌ شائعٌ من أشكال البيانات الذي نستعمله يوميًا، لذا فإنَّ السلاسل النصية مهمة جدًا وتُمثِّل لُبنةً أساسيةً في البرمجة. سيستعرض هذا الدرس كيفية إنشاء وطباعة السلاسة النصية، وكيفية جمعها مع بعضها وتكرارها، وآلية تخزين السلاسل النصية في متغيرات. إنشاء وطباعة السلاسل النصية تتواجد السلاسل النصية إما داخل علامات اقتباس فردية ’ أو علامات اقتباس مزدوجة "، لذا لإنشاء سلسلة نصية، كل ما علينا فعله هو وضع مجموعة من المحارف بين أحد نوعَي علامات الاقتباس السابقَين: 'هذه سلسلة نصية ضمن علامتي اقتباس مفردتين.' "هذه سلسلة نصية ضمن علامتي اقتباس مزدوجتين" يمكنك الاختيار بين النوعَين السابقَين، لكن أيًّا كان اختيارك، فعليك أن تحافظ على استخدامك له في كامل برنامجك. يمكنك طباعة السلاسل النصية إلى الشاشة باستدعاء الدالة print() بكل بساطة: print("Let's print out this string.") Let's print out this string. بعد أن فهمتَ كيفية تهيئة السلاسل النصية في بايثون، لنلقِ نظرةً الآن إلى كيفية التعامل مع السلاسل النصية في برامجك وتعديلها. جمع السلاسل النصية عملية الجمع (concatenation) تعني إضافة سلسلتين نصيتين إلى بعضهما بعضًا لإنشاء سلسلة نصية جديدة. نستخدم المعامل + لجمع السلاسل النصية؛ أبقِ في ذهنك أنَّ المعامل + يعني عملية الجمع عند التعامل مع الأعداد، أما عندما نستخدمه مع السلاسل النصية فيعني إضافتها إلى بعضها. لنجمع السلستين النصيتين "Sammy" و "Shark" مع بعضها ثم نطبعهما باستخدام الدالة print(): print("Sammy" + "Shark") SammyShark إذا أردتَ وضع فراغ بين السلسلتين النصيتين، فيمكنك بكل بساطة وضعه عند نهاية السلسلة النصية الأولى، أي بعد الكلمة “Sammy”: print("Sammy " + "Shark") Sammy Shark لكن احرص على عدم استعمال المعامل + بين نوعَين مختلفَين من البيانات، فلن نتمكن من جمع السلاسل النصية والأرقام مع بعضها، فلو حاولنا مثلًا أن نكتب: print("Sammy" + 27) فسنحصل على رسالة الخطأ الآتية: TypeError: Can't convert 'int' object to str implicitly أما إذا أردنا أن نُنشِئ السلسلة النصية "Sammy27" فعلينا حينها وضع الرقم 27 بين علامتَي اقتباس ("27") مما يجعله سلسلةً نصيةً وليست عددًا صحيحًا. سنستفيد من تحويل الأعداد إلى سلاسل نصية عندما نتعامل مع أرقام الهواتف على سبيل المثال، لأننا لن نحتاج إلى إجراء عملية حسابية على رمز الدولة ورمز المنطقة في أرقام الهواتف، إلا أننا نريدهما أن يظهرا متتابعَين. عندما نجمع سلسلتين نصيتين أو أكثر فنحن نُنشِئ سلسلةً نصيةً جديدةً التي يمكننا استخدامها في برنامجنا. تكرار السلاسل النصية هنالك أوقاتٌ نحتاج فيها إلى استخدام بايثون لأتمتة المهام، وإحدى الأمور التي يمكننا أتمتتها هي تكرار سلسلة نصية لعدِّة مرات. إذ نستطيع فعل ذلك عبر المعامل *، وكما هو الأمر مع المعامل + فإنَّ المعامل * له استخدامٌ مختلف عندما نتعامل مع أرقام، حيث يُمثِّل عملية الضرب. أما عندما نستخدمه بين سلسلةٍ نصيةٍ ورقمٍ فإنَّ المعامل * هو معامل التكرار، فوظيفته هي تكرار سلسلة نصية لأي عدد مرات تشاء. لنحاول طباعة السلسلة النصية “Sammy” تسع مرات دون تكرارها يدويًا، وذلك عبر المعامل *: print("Sammy" * 9) المخرجات: SammySammySammySammySammySammySammySammySammy يمكننا بهذه الطريقة تكرار السلسلة النصية لأيِّ عددٍ نشاء من المرات. تخزين السلاسل النصية في متغيرات المتغيرات هي «رموز» التي يمكننا استعمالها لتخزين البيانات في برنامج. يمكنك تخيل المتغيرات على أنها صندوقٌ فارغٌ يمكنك ملؤه بالبيانات أو القيم. السلاسل النصية هي نوعٌ من أنواع البيانات، لذا يمكننا استعمالها لملء المتغيرات. التصريح عن السلاسل النصية كمتغيرات سيُسهِّل علينا التعامل معها في برامجنا. لتخزين سلسلة نصية داخل متغير، فكل ما علينا فعله هو إسنادها إليه. سنُصرِّح في المثال الآتي عن المتغير my_str: my_str = "Sammy likes declaring strings." أصبح المتغير my_str الآن مُشيرًا إلى سلسلةٍ نصيةٍ، والتي أمسى بمقدورنا طباعتها كما يلي: print(my_str) وسنحصل على الناتج الآتي: Sammy likes declaring strings. استخدام المتغيرات لاحتواء قيم السلاسل النصية سيساعدنا في الاستغناء عن إعادة كتابة السلسلة النصية في كل مرة نحتاج استخدامها، مما يُبسِّط تعاملنا معها وإجراءنا للعمليات عليها في برامجنا. الخلاصة لقد تعلمنا في درسنا هذا أساسيات التعامل مع السلاسل النصية في لغة بايثون 3. بما في ذلك إنشاءها وطباعتها وجمعها وتكرارها، إضافةً إلى تخزينها في متغيرات، وهذه هي المعلومات الأساسية التي عليك فهمها للانطلاق في تعاملك مع السلاسل النصية في برامج بايثون 3. هذه المقالة جزء من سلسة مقالات حول تعلم البرمجة في بايثون 3. ترجمة -وبتصرّف- للمقال An Introduction to Working with Strings in Python 3 لصاحبته -Lisa Tagliaferri اقرأ أيضًا المقالة التالي: كيفية تنسيق النصوص المقال السابق: فهم أنواع البيانات المرجع الشامل إلى تعلم لغة بايثون كتاب البرمجة بلغة بايثون1 نقطة