كيف أعمل خوارزمية لتكبير الحرف الاول من كل كلمة ؟

يعمل ولكن لم استطع اكماله
:sweat_smile::sweat_smile::sweat_smile:

اووو
علينا ان نتعلم إكمال أفكارنا
قد تفيد غيرك بهذا :ok_hand::ok_hand:

1 Like

لم استطع اكماله لي يومين افكر بالحل :disappointed_relieved::disappointed_relieved:
واخيراً لجأت للمنتدى

1 Like

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

string = input ('hello my friend')
for i in range(len(string)):
...

ما تحتاجه يا يحيى هو إما إعادة لكتابة الدالة split بشكل خاص, أو كتابة خوارزمية تقوم بالتالي

for my_char in my_string:
     # check my_char == space
     # capitalize the next letter

لكن بالتأكيد الأفضل استخدام الدوال الجاهزة بدل اعادة صناعة العجلة :wink:

2 Likes
string = ["hello", "my", "friend"]
[print(string[i].capitalize(), end ='') for i in range(len(string))]

>>>Hello My Friend

هذه طريقة ذكية جدا أعجبتني أردت أن أفيدك بها
مصدر الفكرة. sololearn مع بعض التعديلات عليه

2 Likes

@yahya-alshammout

def cap(string):
	index = 0
	for i in string:
		if index == 0 :
				string = i.capitalize() + string[index+1:]
		
		if i.isspace():
			string = string[0:index+1] + string[index+1].capitalize() + string[index+2:]
		index += 1
	return string
3 Likes

حل رائع يا مالك… الأفضل استعمال while loop لكي لا تنشأ string جديدة كل مرة, وتعديل الحرف نفسه بدل ذلك

3 Likes