كنت أعبث بالطريقة .upper() في Codecademy وعثرت على قسم المنتدى حيث كان بعض المطورين يسألون عن كتابة أحرف كبيرة أخرى في سلسلة بخلاف الأولى. لذلك بدأت في اختبار رموز مختلفة واكتشفت طريقة لكتابة حرف كبير بأحرف معينة. هذا هو المنتدى الذي ألهمني للتحقيق:
def upper_that_letter(some_str): upper_letter = "" for letter in some_str: if letter == "o": upper_letter = letter.upper() rep_letter_o = some_str.replace("o", upper_letter) return rep_letter_o print(upper_that_letter("Hola Mundo"))
الجزء الذي يذكر الخروج بوظيفتك الخاصة أعطاني السطر الأول من التعليمات البرمجية للعمل معه، أدركت أن السلسلة غير قابلة للتغيير، لذا في البداية قمت بإنشاء متغير سلسلة فارغ وبما أن السلاسل تعمل بشكل مشابه للقوائم، فمن حقها الوحيد التكرار لرسالة محددة، مرحبا للحلقة. أضفت بعد ذلك شرطًا يحدد ما إذا كان هذا الحرف موجودًا في حالتنا: "o" ثم نستخدم الطريقة Upper() عليه ونضعه في متغير نسميه Upper_letter.
في هذه المرحلة تعثرت وحاولت سيناريوهات مختلفة لتضمين السلسلة التي تم تمريرها عند استدعاء الوظيفة ولكن تم إرجاع الحرف "O" فقط بأحرف كبيرة. ثم فكرت في طريقة الاستبدال ()! أدركت أن الطريقة استبدال () تأخذ وسيطتين، السلسلة للبحث والاستبدال بالإضافة إلى السلسلة لاستبدال القيمة القديمة بها. هناك أيضًا وسيطة ثالثة تحدد عدد تكرارات القيمة القديمة التي تريد استبدالها (وهذا زائد!). هذه الطريقة جعلت كل شيء متصلاً بوظيفتي.
الآن لوضع أسلوب الاستبدال () الخاص بنا في التشغيل، استخدمته على المعلمة some_str مع "o" كأول وسيطة سيتم استبدالها ومتغير Upper_letter كبديل جديد له. الآن سنعيد المتغير استبدال_حرف_o، ونستدعي الدالة بـ "Hola Mundo" ونحصل على الناتج المطلوب من "HOla MundO"!
أنا متأكد من أن هناك العديد من الطرق لإنجاز ذلك ولكني أردت مشاركة هذا ليس فقط لتوفير حل ولكن الأهم من ذلك لإظهار كيف أن فهم الأدوات المتاحة لك وتجربة أشياء مختلفة بنفسك يمكن أن يساعدك في العثور على طرق لتصبح أفضل في حل المشكلات والاستمتاع بالبرمجة!
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3