اذهب إلى المحتوى

السؤال

نشر

السلام عليكم

مساعد في فهم المساله ده

Many programming languages provide the functionality of converting a string to uppercase or lowercase. For example, upcase/downcase in Ruby, upper/lower in Python, and toUpperCase/toLowerCase in Java/JavaScript, uppercase/lowercase in Kotlin. Typically, these methods won't change the size of the string.

For example, in Ruby, str.upcase.downcase.size == str.size is true for most cases.

However, in some special cases, the length of the transformed string may be longer than the original. Can you find a string that satisfies this criteria?

For example, in Ruby, That means str.upcase.downcase.size > str.size

You should just set the value of STRANGE_STRING to meet the previous criteria.

Note: Meta programming is not allowed in this kata. So, the size of your solution is limited.

الساله ده موجود علي موقع Coderwars

اقرات المساله وكمان ترجمتها علي جوجل بس انا مش فاهم برد المسال ده 

هو عاوز اي اي المطلوب

بس من غير كتاب كود لو سمحتو

Recommended Posts

  • 0
نشر

المسألة تطلب منك أن تبحث عن سلسلة نصية حيث في بعض الحالات الخاصة، يمكن أن يكون طول السلسلة المحولة أكبر من السلسلة الأصلية بعد تطبيق عمليات تحويل الحالة الأبجدية (uppercase/lowercase)، أي تحويل الحروف الكبيرة إلى حروف صغيرة أو العكس.

بمعنى آخر نحتاج إلى إيجاد سلسلة نصية يكون طولها بعد تحويلها للحالة الكبيرة ومن ثم الحالة الصغيرة أكبر من طول السلسلة الأصلية.

  • 0
نشر
بتاريخ 10 دقائق مضت قال Chihab Hedidi:

المسألة تطلب منك أن تبحث عن سلسلة نصية حيث في بعض الحالات الخاصة، يمكن أن يكون طول السلسلة المحولة أكبر من السلسلة الأصلية بعد تطبيق عمليات تحويل الحالة الأبجدية (uppercase/lowercase)، أي تحويل الحروف الكبيرة إلى حروف صغيرة أو العكس.

بمعنى آخر نحتاج إلى إيجاد سلسلة نصية يكون طولها بعد تحويلها للحالة الكبيرة ومن ثم الحالة الصغيرة أكبر من طول السلسلة الأصلية.

تمام , شكرااا جداا

  • 0
نشر
بتاريخ On 1‏/4‏/2024 at 14:44 قال Chihab Hedidi:

المسألة تطلب منك أن تبحث عن سلسلة نصية حيث في بعض الحالات الخاصة، يمكن أن يكون طول السلسلة المحولة أكبر من السلسلة الأصلية بعد تطبيق عمليات تحويل الحالة الأبجدية (uppercase/lowercase)، أي تحويل الحروف الكبيرة إلى حروف صغيرة أو العكس.

بمعنى آخر نحتاج إلى إيجاد سلسلة نصية يكون طولها بعد تحويلها للحالة الكبيرة ومن ثم الحالة الصغيرة أكبر من طول السلسلة الأصلية.

طيب لو سمحت احلها ازي المسال ده بغلت باثيون

  • 0
نشر
بتاريخ 23 دقائق مضت قال Ail Ahmed:

طيب لو سمحت احلها ازي المسال ده بغلت باثيون

@Ail Ahmed

أولاً لنفترض أن لديك سلسلة نصية تحتوي على حرف خاص، وهو حرف "ß" (الحرف الألماني الحاد s)، ولا تتوفر هذه العلامة ß في جميع اللغات، بما في ذلك العربية.

وعندما تقوم بتحويل هذا الحرف الألماني الحاد "ß" إلى أحرف كبيرة (uppercase) في بعض اللغات مثل بايثون، فسيتم تحويله إلى حرفين "SS" بدلاً من حرف واحد كبير "ß".

الآن، إن قمت بتحويل الأحرف الكبيرة "SS" مرة أخرى إلى أحرف صغيرة (lowercase)، ستحصل على حرفين صغيرين "ss".

أي تكمن المشكلة هنا في أن السلسلة النهائية "ss" أصبحت أطول من السلسلة الأصلية "ß" بحرف واحد، وذلك يتعارض مع السلوك المعتاد لتحويل الأحرف الكبيرة والصغيرة، حيث من المتوقع أن يظل طول السلسلة كما هو.

ابدء بتحديد قائمة من الأحرف الخاصة، بما في ذلك الأحرف المعرّفة، والرموز، والأحرف غير القياسية في لغة بايثون.

ثم قم باختبار تحويل الأحرف كالتالي:

  • نستخدم حلقة for للتكرار على قائمة من الأحرف الخاصة.
  • لكل حرف، نقوم بتحويله إلى أحرف كبيرة باستخدام طريقة upper().
  • ثم نقوم بتحويله إلى أحرف صغيرة باستخدام طريقة lower().
  • نقارن طول السلسلة الأصلية بطول السلسلة بعد تحويلها إلى أحرف صغيرة.

وللتأكد من ثبات السلوك، نكرر عملية تحويل الأحرف الكبيرة إلى أحرف صغيرة عدة مرات باستخدام السلسلة المرشحة، وإن استمرت الفروق في الطول، فقد وجدنا الحل.

حاول حلها، وأخبرني لتوضيح الأمر لك من خلال الكود.

  • 0
نشر
بتاريخ 9 دقائق مضت قال Mustafa Suleiman:

أولاً لنفترض أن لديك سلسلة نصية تحتوي على حرف خاص، وهو حرف "ß" (الحرف الألماني الحاد s)، ولا تتوفر هذه العلامة ß في جميع اللغات، بما في ذلك العربية.

وعندما تقوم بتحويل هذا الحرف الألماني الحاد "ß" إلى أحرف كبيرة (uppercase) في بعض اللغات مثل بايثون، فسيتم تحويله إلى حرفين "SS" بدلاً من حرف واحد كبير "ß".

الآن، إن قمت بتحويل الأحرف الكبيرة "SS" مرة أخرى إلى أحرف صغيرة (lowercase)، ستحصل على حرفين صغيرين "ss".

أي تكمن المشكلة هنا في أن السلسلة النهائية "ss" أصبحت أطول من السلسلة الأصلية "ß" بحرف واحد، وذلك يتعارض مع السلوك المعتاد لتحويل الأحرف الكبيرة والصغيرة، حيث من المتوقع أن يظل طول السلسلة كما هو.

ابدء بتحديد قائمة من الأحرف الخاصة، بما في ذلك الأحرف المعرّفة، والرموز، والأحرف غير القياسية في لغة بايثون.

ثم قم باختبار تحويل الأحرف كالتالي:

  • نستخدم حلقة for للتكرار على قائمة من الأحرف الخاصة.
  • لكل حرف، نقوم بتحويله إلى أحرف كبيرة باستخدام طريقة upper().
  • ثم نقوم بتحويله إلى أحرف صغيرة باستخدام طريقة lower().
  • نقارن طول السلسلة الأصلية بطول السلسلة بعد تحويلها إلى أحرف صغيرة.

وللتأكد من ثبات السلوك، نكرر عملية تحويل الأحرف الكبيرة إلى أحرف صغيرة عدة مرات باستخدام السلسلة المرشحة، وإن استمرت الفروق في الطول، فقد وجدنا الحل.

حاول حلها، وأخبرني لتوضيح الأمر لك من خلال الكود.

حاضر , شكرااا جداا لحضرتك

توضيع لو سمحت هو ان اعمل قايمه ال هي List ام نص عادي String 

عشان علي الموقع Codwars كتب الكود ده في اول سطر

STRANGE_STRING = 'foo'

تاني حاجه احديد طوال السلسله باستخدم الداله len() صح كده

وكمان اي هي الحروف الخاص ده

  • 0
نشر
بتاريخ 8 دقائق مضت قال Ail Ahmed:

حاضر , شكرااا جداا لحضرتك

توضيع لو سمحت هو ان اعمل قايمه ال هي List ام نص عادي String 

عشان علي الموقع Codwars كتب الكود ده في اول سطر

STRANGE_STRING = 'foo'

تاني حاجه احديد طوال السلسله باستخدم الداله len() صح كده

وكمان اي هي الحروف الخاص ده

بالضبط، في البداية الحروف الخاصة هي كالتالي:

special_chars = ["ß", "ç", "é", "ê", "ì", "í", "ò", "ó", "ù", "ú"]

أرجو قراءة التعليق السابق مرة أخرى

  • 0
نشر
بتاريخ الآن قال Mustafa Suleiman:

بالضبط، في البداية الحروف الخاصة هي كالتالي:

special_chars = ["ß", "ç", "é", "ê", "ì", "í", "ò", "ó", "ù", "ú"]

 

تمام شكراا جدا لحضرتك

افكار انا في المسال ورهرجع لحضرتك انا شاء الله

 

اعتقد كده انا تمام وده الكود

special_chars = ["ß", "ç", "é", "ê", "ì", "í", "ò", "ó", "ù", "ú"]

for special in special_chars:
    up_and_lo = special.upper().lower()

    if len(special) < len(up_and_lo):
        print(True)

    else:
        print(False)

 

بس علي الموقع بيظهر الخطاء ده

Solution too large, actual size: 266

No grow, actual length: 3 ⇒ 3

  • 0
نشر
بتاريخ منذ ساعة مضت قال Ail Ahmed:

Solution too large, actual size: 266

No grow, actual length: 3 ⇒ 3

لاحظ ان الحل يطلب منك فقط وضع الاحرف فى المتغير STRANGE_STRING ولا يطلب منك اى كود . حيث اذا اصبحت عدد حروف الكود الخاص بك اكثر من 25 بايت اى 25 حرف سيظهر لك هذا الخطأ Solution too large . 

كل ما عليك هو وضع فقط قيمة  ال STRANGE_STRING  هكذا

STRANGE_STRING = 'ßú'

او استخدام اى احرف ولكن يجب على الجملة الا تتعدى ال 25 حرف و الاحرف اللاتينية تحسب كحرفين .

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

  • 0
نشر
بتاريخ 2 ساعة قال محمد_عاطف:

لاحظ ان الحل يطلب منك فقط وضع الاحرف فى المتغير STRANGE_STRING ولا يطلب منك اى كود . حيث اذا اصبحت عدد حروف الكود الخاص بك اكثر من 25 بايت اى 25 حرف سيظهر لك هذا الخطأ Solution too large . 

كل ما عليك هو وضع فقط قيمة  ال STRANGE_STRING  هكذا

STRANGE_STRING = 'ßú'

او استخدام اى احرف ولكن يجب على الجملة الا تتعدى ال 25 حرف و الاحرف اللاتينية تحسب كحرفين .

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

طيب ممكن لو سمحت تكتب الكود النهايه

  • 0
نشر
بتاريخ 2 دقائق مضت قال Ail Ahmed:

طيب ممكن لو سمحت تكتب الكود النهايه

special_chars = ["ß", "ç", "é", "ê", "ì", "í", "ò", "ó", "ù", "ú"]

for char in special_chars:
    original_length = len(char)
    uppercase_char = char.upper()
    lowercase_char = uppercase_char.lower()
    lowercase_length = len(lowercase_char)

    if lowercase_length > original_length:
        print(f"String: {char}, Original Length: {original_length}, Lowercase Length: {lowercase_length}")

 

  • 0
نشر
بتاريخ 7 دقائق مضت قال Mustafa Suleiman:
special_chars = ["ß", "ç", "é", "ê", "ì", "í", "ò", "ó", "ù", "ú"]

for char in special_chars:
    original_length = len(char)
    uppercase_char = char.upper()
    lowercase_char = uppercase_char.lower()
    lowercase_length = len(lowercase_char)

    if lowercase_length > original_length:
        print(f"String: {char}, Original Length: {original_length}, Lowercase Length: {lowercase_length}")

 

تمام ده ان عملو بس المتغير ده

STRANGE_STRING = 'foo'

اضيف ازي الحروف الخاص يعني 

  • 0
نشر
بتاريخ 52 دقائق مضت قال Ail Ahmed:

اضيف ازي الحروف الخاص يعني

بدلا من كلمة foo قم بكتابة اى حرفين فقط بيديك من الاحرف اللاتينيه فقط ولو كتبت اكثر من ذلك سيظهر لك خطا.

بتاريخ 3 ساعة قال محمد_عاطف:
STRANGE_STRING = 'ßú'

يمكنك كتابة هذه كما وضحت لك سابقا.

 حيث ان السؤال لايتطلب اى برمجة نهائيا 

  • 0
نشر
بتاريخ 2 ساعة قال محمد_عاطف:

بدلا من كلمة foo قم بكتابة اى حرفين فقط بيديك من الاحرف اللاتينيه فقط ولو كتبت اكثر من ذلك سيظهر لك خطا.

يمكنك كتابة هذه كما وضحت لك سابقا.

 حيث ان السؤال لايتطلب اى برمجة نهائيا 

ايوه بس علي الموقع codewars عملي مشكله ان كتب الكود ده

STRANGE_STRING = 'ßú'


for char in STRANGE_STRING:
    original_length = len(char)
    uppercase_char = char.upper()
    lowercase_char = uppercase_char.lower()
    lowercase_length = len(lowercase_char)

    if lowercase_length > original_length:
        pass

المرد المشكله ده بس الظهر

Solution too large, actual size: 266

  • 0
نشر
بتاريخ 2 دقائق مضت قال Ail Ahmed:

Solution too large, actual size: 266

الخطأ يخبرك ان طول الكود هو 266 والمسموح لك هو 25 حرف فقط .

لذلك من فضلك قم بكتابة هذا السطر فقط فى الموقع والضغط على test 

STRANGE_STRING = 'ßú'

ولا تقوم بكتابة اى شئ اخر سوى هذا السطر 

  • 0
نشر
بتاريخ 2 دقائق مضت قال محمد_عاطف:

الخطأ يخبرك ان طول الكود هو 266 والمسموح لك هو 25 حرف فقط .

لذلك من فضلك قم بكتابة هذا السطر فقط فى الموقع والضغط على test 

STRANGE_STRING = 'ßú'

ولا تقوم بكتابة اى شئ اخر سوى هذا السطر 

والله كتب كمان ده 

STRANGE_STRING = 'ß'

ده برد الخطاء الظهر

Solution too large, actual size: 25

الا تمام انا كانت نزل علي كمام سطر كده

شكرااا جدااا لحضرتكم

 

  • 0
نشر
بتاريخ 1 دقيقة مضت قال محمد_عاطف:

من فضلك تاكد من عدم وجود اى مسافات زائدة فمن الممكن ان تكون تلك هى المشكلة

ايوه ده فعلن كان المشكله

شكرااا جدااا لحضرتك والله وعلي اهتمامك

جزاك الله كل خير

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...