لو محتاج الحروف الإنجليزية الصغيرة من 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
اختبر أول حرف وآخر حرف وعدد الحروف متكتفيش إن النص شكله قريب من المطلوب لأن نسيان آخر حرف من أخطاء الحدود المنتشرة
لو المطلوب أبجدية عربية أو ترتيب حروف حسب لغة معينة متفترضش إن تغيير أول رقم وآخر رقم كفاية ممكن تستخدم قائمة واضحة للحروف المطلوبة أو أدوات مناسبة للغة والنص