البرمجة

تحويل الحروف الصغيرة إلى الحروف الكبيرة في Python: دليل بسيط باستخدام ord و chr

في محاولتك لإنشاء وظيفة لتحويل الحروف الصغيرة إلى حروف كبيرة باستخدام ord و chr، هناك بعض الأخطاء التي يمكن تصحيحها. دعنا نقوم بتحسين الكود:

أولاً، يبدو أن هناك خطأ في هضم النص في الوظيفة. يمكننا استخدام تركيبة بسيطة باستخدام قيم ASCII لتحويل الحروف الصغيرة إلى الحروف الكبيرة. إليك تحسين الكود:

python
def changeToUpperCase(text): result = "" for i in text: if 'a' <= i <= 'z': i = chr(ord(i) - ord('a') + ord('A')) result += i return result def main(): text = input("الرجاء كتابة جملة عشوائية: ") text = changeToUpperCase(text) print("النتيجة - ", text) if __name__ == "__main__": main()

في هذا الكود المحسّن، نقوم بفحص كل حرف في النص المدخل باستخدام الشرط if 'a' <= i <= 'z' للتحقق من أنه حرف صغير، ثم نقوم بتحويله إلى حرف كبير باستخدام الفارق بين قيم ASCII للحروف الصغيرة والكبيرة.

أيضاً، تم تعديل الطريقة التي يتم بها استخدام النص الذي تم تغييره داخل الدالة، حتى يتم الاحتفاظ بالنص الأصلي والعودة به بشكل صحيح.

يمكنك الآن استخدام هذا الكود لتحويل الحروف الصغيرة إلى الحروف الكبيرة.

المزيد من المعلومات

بالتأكيد، دعونا نوسّع على الموضوع بشكل أعمق. في هذا السياق، يجدر بنا استكشاف عدة نقاط تتعلق بتحويل الحروف واستخدام دوال ord و chr.

أولاً، يمكن أن يكون من الفهم الأفضل استخدام التحقق من الحروف الصغيرة باستخدام islower() داخل الدالة. هذا يجعل الكود أكثر وضوحًا وأقل تعقيدًا. إليك الكود المعدل:

python
def changeToUpperCase(text): result = "" for i in text: if i.islower(): i = chr(ord(i) - ord('a') + ord('A')) result += i return result def main(): text = input("الرجاء كتابة جملة عشوائية: ") text = changeToUpperCase(text) print("النتيجة - ", text) if __name__ == "__main__": main()

ثانيًا، يُفضل أيضًا إدراك أن هذا الكود يتعامل مع الحروف الصغيرة فقط. إذا كنت ترغب في التعامل مع جميع الحروف بغض النظر عن حالتها (صغيرة أو كبيرة)، يمكننا تحسين الكود ليكون أكثر عمومية. فيما يلي الكود المعدّل:

python
def changeToUpperCase(text): result = "" for i in text: i = chr(ord(i) - 32) if 'a' <= i <= 'z' else i result += i return result def main(): text = input("الرجاء كتابة جملة عشوائية: ") text = changeToUpperCase(text) print("النتيجة - ", text) if __name__ == "__main__": main()

باستخدام هذا الكود، سيتم التعامل مع جميع الحروف، سواء كانت صغيرة أو كبيرة. يتم زيادة قيم ASCII بمقدار 32 لتحويل الحروف الصغيرة إلى الحروف الكبيرة، وذلك بغض النظر عن نوع الحرف.

هذه التحسينات تسعى إلى تحقيق كود أكثر فاعلية وقابلية للفهم، وتعكس أفضل الممارسات في برمجة Python.

زر الذهاب إلى الأعلى