/“Pig Latin translator” in Python

“Pig Latin translator” in Python

“بيج لاتين – Pig Latin ”   دي لعبه أجنبيه عرفتها من موقع “Codecademy” حد يكتبلك كلمه و أنت تحولها كلها لحروف “Small” بعدين نشوف أول حرف في الكلمه ، هل هو حرف متحرك من الحروف الخمسه و لا حرف ساكن؟ ، لو حرف متحرك نضيف للكلمه حرفين “a ,y” في الآخر بس ، أما لو الحرف ساكن نشيل الحرف الساكن من أول الكلمه و بعدين نضيفه لآخر الكلمه و نزود عليه “a , y ” بردو . بس كده

يمكن تشوفها هايفه و ملهاش لازمه ، ده حقيقي على فكره ، بس أنا مؤمن بإن أحسن طريقه لتعلم البرمجه هي الممارسه فده مثال بسيط جدا هنطبق فيه كذا مفهوم في لغه البايثون علشان نكون عرفنا مبادئ اللغه الأساسيه و إن شاء الله لو عجبكم نكمل بالطريقه دي في شرح اللغه كمان كذا مقال ، يللا نبدأ

أولا لازم هنطلب من المستخدم يكتب الكلمه اللي البرنامج هيحولها من إنجلش لبيج لاتين و نحفظها في مخزن في الذاكره

دلوقتي بعد ما اليوزر هيدخل الكلمه لازم نتأكد هل فعلا دخل كلمه صحيحه و لا مدخلش حاجه و لا دخل أرقام ؟
ده بيتم ازاي ؟ أولا علشان أشوفه دخل كلمه و لا لأ ببساطه نقدر نشوف عدد حروف الكلمه اللي اتحفظت في المخزن أكبر من الصفر و لا لأ ؟

طيب ما يمكن يدخل أرقام مش حروف ! علشان نتأكد هنستخدم داله في البايثون اسمها “isalpha() ”  لو الشرطيبن دول اتحققوا هندخل ع الخطوه التانيه لو متحققوش مع بعض هنطلب من اليوزر يدخل كلمه تانيه

يللا نبدأ في كتابه الكود ده :

نشوف بقى إيه الخطوه التانيه ، أولا كده عاوزين نحول الكلمه اللي اليوزر دخلها كلها لحروف صغيره و ده بيتم بإستخدام داله “lower()” يبقى هنحفظ الكلمه بعد ما حوّلنا كل حروفها لحروف صغيره في مخزن جديد

يبقى هنعرف متغير جديد اسمه وليكن “word” و نخلي قيمته بالكلمه بالحروف الصغيره وده بإننا نستدعي المخزن المحفوظ فيه الكلمه “orginal” و نطبق عليه الداله “lower()”

دلوقتي عاوزين نشوف هل الحرف الأول في الكلمه دي ساكن و لا متغير ؟ ، يبقى لازم ناخد أول حرف من الكلمه بعد ما خليناها حروف صغيره و نحفظه في متغير تاني لوحده ، وهنعرف متغير جديد اسمه وليكن “first” و هنساوي قيمته بأول حرف من الكلمه و علشان نجيب حرف في الكلمه بنكتب المتغير اللي الكلمه متخزنه فيه “word” و جنبه قوسين فيهم ترتيب الحرف اللي عاوزينه (لاحظ علوم الكمبيوتر كلها بتبدأ العد من 0 مش من 1)

عندي إحتمالين لأول حرف إما حرف من الحروف الخمسه المتحركه أو من باقي الحروف الساكنة ، يبقى لازم هنعمل جمله “if” و نشوف المخزن اللي حفظنا فيه أول حرف “first” هل قيمته بتساوي أحد الحروف المتحركه و لا لأ ؟

دلوقتي بعد ما نحدد الحرف ساكن و لا متحرك نشوف الخطوه اللي بعدها ،  لو متحرك هنضيف للكلمه بس حروف “a ,y”

أما لو حرف ساكن هنحذف الحرف الأول و نحط باقي الكلمه بعدين نحط الحرف الأول اللي حذفناه في آخر الكلمه بعدين هنضيف الحرفين “a, y”.

بس كده خلصنا يبقى الكود النهائي للبرنامج هيكون بالشكل ده

الكود مرفوع هنا لو حد حابب يشوفه : )

http://goo.gl/L6Dmm