لو محتاج الحروف الإنجليزية الصغيرة من a لحد z مش لازم تكتبهم حرف حرف هنولد نفس النتيجة باستخدام Python و PHP و JavaScript وهنفهم ليه بداية النطاق ونهايته مهمة

الأمثلة هنا للحروف الإنجليزية الأساسية وعددها 26 حرف مش لتوليد أبجدية أي لغة بشكل عام لأن ترتيب الحروف وقواعد التعامل معاها بيختلفوا

الحرف ليه قيمة رقمية

الحروف الإنجليزية الصغيرة من a لحد z ليها قيم متتابعة من 97 لحد 122 في ASCII ونفس القيم موجودة في Unicode للحروف دي هنستفيد من التتابع علشان نحول الأرقام لحروف

استخدام دالة جاهزة أو ثابت معروف غالبا أوضح من كتابة أرقام من الذاكرة لكن فهم الأرقام هيساعدك تستوعب الحل بدل ما تحفظه

ال Python باستخدام مكتبة string

المكتبة القياسية string فيها ثوابت جاهزة للحروف الصغيرة والكبيرة ال ascii_lowercase بيحتوي على الحروف الصغيرة فقط و ascii_uppercase على الحروف الكبيرة

import string

print(string.ascii_lowercase)
print(string.ascii_uppercase)
print(len(string.ascii_lowercase))
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
26

النتيجة نص واحد لو محتاج قائمة بالحروف استخدم list(string.ascii_lowercase) ولو محتاج الحروف الصغيرة وبعدها الكبيرة استخدم string.ascii_letters

ال Python باستخدام ord و chr

ال ord بتجيب القيمة الرقمية للحرف وال chr بتحول القيمة الرقمية لحرف ال range مش بتشمل الحد الأخير لذلك ضفنا 1 لقيمة z علشان الحرف الأخير يدخل في النتيجة

start = ord("a")
end = ord("z") + 1
alphabet = "".join(chr(code) for code in range(start, end))

print(alphabet)
print(len(alphabet))
abcdefghijklmnopqrstuvwxyz
26

ال PHP باستخدام range

ال range هنا بترجع Array من أول حرف لآخر حرف والحد الأخير داخل في النتيجة عكس range في Python وبعدها استخدمنا implode لضم الحروف في نص من غير فاصل

<?php
$letters = range("a", "z");
$alphabet = implode("", $letters);

echo $alphabet . PHP_EOL;
echo count($letters) . PHP_EOL;
abcdefghijklmnopqrstuvwxyz
26

ال PHP باستخدام ord و chr

نقدر نكتب نفس الفكرة بحلقة تبدأ بقيمة a وتنتهي بقيمة z استخدمنا <= علشان نضم الحرف الأخير والرمز .= بيضيف الحرف للنص الحالي

<?php
$alphabet = "";

for ($code = ord("a"); $code <= ord("z"); $code++) {
    $alphabet .= chr($code);
}

echo $alphabet . PHP_EOL;
abcdefghijklmnopqrstuvwxyz

ال ord و chr في PHP بيتعاملوا مع البايتات ومش حل عام لحروف Unicode استخدمناهم هنا لأن حروف ASCII في المثال كل حرف منها بايت واحد

ال JavaScript باستخدام Array.from

هننشئ 26 عنصرا فقط بدل إنشاء عناصر زيادة وبعدين قصها ال index بيبدأ من صفر هنضيفه لقيمة الحرف a وبعدها نحول الناتج لحرف باستخدام String.fromCharCode

const start = "a".charCodeAt(0);
const letters = Array.from({ length: 26 }, (_, index) =>
  String.fromCharCode(start + index)
);
const alphabet = letters.join("");

console.log(alphabet);
console.log(letters.length);
abcdefghijklmnopqrstuvwxyz
26

الوسيط الأول في دالة التحويل مش محتاجينه لذلك سميناه _ وده اسم عادي لمتغير ال join بيدمج العناصر في نص و ال String.fromCharCode بيتعامل مع وحدات UTF-16 والحروف الإنجليزية في المثال مناسبة للطريقة دي

ال JavaScript باستخدام حلقة عادية

لو طريقة Array.from لسه جديدة عليك استخدم حلقة واضحة النتيجة واحدة والمهم تفهم كل خطوة ال for بتبدأ من a وبتزود القيمة لحد ما توصل لقيمة z

let alphabet = "";

for (let code = "a".charCodeAt(0); code <= "z".charCodeAt(0); code++) {
  alphabet += String.fromCharCode(code);
}

console.log(alphabet);
abcdefghijklmnopqrstuvwxyz

تطبيق صغير تتأكد بيه من الفكرة

جرب تولد الحروف من m لحد r والنتيجة المطلوبة mnopqr وبعدها جرب الحروف الكبيرة من A لحد Z

اختبر أول حرف وآخر حرف وعدد الحروف متكتفيش إن النص شكله قريب من المطلوب لأن نسيان آخر حرف من أخطاء الحدود المنتشرة

لو المطلوب أبجدية عربية أو ترتيب حروف حسب لغة معينة متفترضش إن تغيير أول رقم وآخر رقم كفاية ممكن تستخدم قائمة واضحة للحروف المطلوبة أو أدوات مناسبة للغة والنص

مصادر للتوسع