به نام خدا.

سلام.
خب، نوبت به قسمت سوم میرسه.
قسمت های قبلی رو با استفاده از این لینک ها میتانید ببینید:
تو این قسمت میخوایم راجب String ها صحبت کنیم که یجورایی میشه همون «متن» خودمان. البته میتانیم بگیم که String یعنی یه رشته ای (یا زنجیره ای) از کاراکتر ها که دنبال هم آمدن، حالا این کاراکتر ها میتانن هم حروف الفبا باشن، هم اعداد و هم سمبل های مختلف.
name = int(input("Adad ro vared konid: "))
اینجا هرچی user وارد کنه تبدیل میشه به int. یادتان باشه که input به ما String میده (یعنی هرچی که با input از user میگیریم، همیشه String میباشد!)، پس اگه میخوایم از user عدد بگیریم، باید قبل از استفاده از اون، بیایم و اون چیزی که user وارد کرده رو تبدیلش کنیم به عدد. اینجا int یعنی عدد صحیح. اگه بخوایم عدد اعشاری از user بگیریم، به جای int میتانیم از float استفاده کنیم.
مثال بالا رو به شکل زیر هم میشه انجام داد که یکم طولانی تره:
name = input("Adad ro vared konid: ") name = int(name)
tedade_koshte_ha = 25 + " nafar."
اینجا error میده. چون ۲۵ عدده و String نیست، پس میایم و با استفاده از یه function به اسم str تبدیلش کنیم به String. مثل:
tedade_koshte_ha = str(25) + " nafar."
payam = """Salam. khosh amadid. khodafez."""
تو این مثال، ۳ تا line (یا خط) print میشه. (باید خودتان امتحان کنید که در عمل نتیجه رو ببینید).
البته برای چند خط print کردن میتانیم تو همون String های قبلی خودمان، از n\ هم استفاده کنیم (که بهش میگن new line character)، مثل:
payam = "Salam.\nkhosh amadid.\nkhodafez."
نکته خیلی مهم: همه اینها رو باید خودتان انجام بدید که خوب بفهمید، با خواندن و نگاه کردن فقط سردرگم میشید.
خب بریم سراغ مثال ها. یادتان باشه که همه مثال ها و چیزهایی که میخوانید رو خودتان تایپ کنید و امتحانشان کنید. تنها راه یادگیری همینه.
len("sohail") >>> 6
اینجا یه function داریم به اسم len که کارش اینه که طول یه String رو به ما بده (البته طول چیزهای دیگه رو هم میده که فعلاً با اون کاری نداریم).
name = "SoHaiL MorADy" name.upper() >>> "SOHAIL MORADY" name.lower() >>> "sohail morady" name.title() >>> "Sohail Morady" name.capitalize() >>> " Sohail morady"
اینجا هم میبینیم که function های (یا method های) upper و lower و title و capitalize چکار میکنن. که نیازی به توضیح نداره. فقط باید خودتان حتماً انجام بدید اینها رو.
esm = "sohail" name_khanevadegi = "morady" esme_kamel = esm + name_khanevadegi print(esme_kamel)
اینجا هم که همون concatenation که اول مقاله توضیح دادم رو داریم میبینیم که خیلی راحته. فقط حواستان باشه که concatenation بطور اتوماتیک بین اون ۲ تا کلمه space نمیزاره.
text = " salam " print(text.strip(" ")) >>> "salam"
اینجا داریم یه function (یا method ، فرقشان رو بعداً میخوانیم) جدید میبینیم به اسم strip. کاری که strip میکنه اینه که میاد و اون چیزی که ما بهش میدیم رو از اول و آخر یه String حذف میکنه. مثلاً اینجا ما به strip یه space یا همون فاصله رو دادیم و اون هم آمده و اون space های اضافی رو از اول و آخرِ text حذف کرده.
payam = "Khoramshahr azad shod." print(payam[0:12]) >>> "Khoramshahr "
اینجا داریم یادمیگیریم که چطور فقط یه قطعه هایی از یه String رو نشان بدیم. برای اینکار، بعد از اون String میایم [a:b] رو مینویسیم. این یعنی چه؟ یعنی یه قطعه از اون String، یعنی از a تا b.
حالا این a و b چه هستن؟ به اینا میگن index.
برای درک این قضیه باید این رو بدانید که تو پایتون، String ها یه چیزی دارن به اسم index. یعنی چه؟ یعنی درواقع هرکدام از کاراکترهایی که توی String ما هستن (حتی space!)، یه index دارن که جایگاه اونها رو تو اون String نشان میده. شکل زیر رو ببینید:

توی این عکس، ما یه String داریم به شکل "Hello world" و داریم تو خط اول index های هرکدام از اون کاراکتر ها رو میبینیم. یادتان باشه که تو پایتون index ها از صفر شروع میشن، نه یک!
حالا وقتی میایم مینویسیم [0:12]payam ، یعنی داریم بهش میگیم که فقط کاراکترهایی رو نشان بده که از index صفر تا ۱۲ هستن (البته بدون خودِ اون کاراکتری که index اون میشه ۱۲).
فقط من عمداً عدد ۱۲ رو انتخاب کردم که شما ببینید که space هم یه index برای خودش داره و اون space اضافی آخر " Khoramshahr" به همین خاطره.
البته بازم میگم، حواستان باشه که خود اون عدد دوم رو به ما نمیده. یعنی تو اون payam، کاراکتری که index اون ۱۲ هست، میشه اون a که اول کلمه azad آمده (و index اون space ما میشه ۱۱)، ولی تو نتیجه نهایی اون a رو به ما نمیده و به space ختم میشه.
بازم میگم، تا وقتی خودتان این چیزها رو تایپ نکنید و امتحان نکنید، هیچی یاد نمیگیرید.
خب، بازم به چالش ها رسیدیم که خیلی باحالن.
بازم مثل همیشه میگم، اگه نتانستید حل کنید، نگران نشید، با تمرین همه چی حل میشه به مرور زمان.
و طبق روال معمول، هر چیزی که برای حل کردن چالش ها لازم دارید تو این قسمت و قسمت های قبلی وجود داره و چیزی جز اینها نداره.
از user بخواید که اسم کوچکش رو وارد کنه و بعد طول اسم کوچکش رو بهش بگید.
از user بخواید که اسم کوچکش رو وارد کنه و بعد هم ازش بخواید اسم خانوادگیش رو وارد کنه. بعد این ۲ تا رو به هم بچسبانید (با یه فاصله بینشان) که اسم کاملش ساخته بشه. در آخر، اسم کاملش و همچنین طول اسم کاملش رو بهش بگید.
از user بخواید که اسم کوچک و بزرگش رو به حروف کوچک وارد کنه. بعد اون ۲ تا رو بهم بچسبانید که اسم کاملش ساخته بشه و اسمش رو جوری تغییر بدید که حرف اول هر کلمه که تو اسمش هست، حرف بزرگ باشه. آخر کار هم اسم کاملش رو با این تغییرات بهش نشان بدید.
مثلاً اگه user به ما "sohail" و "morady" رو به ما بده، ما باید بهش "Sohail Morady" رو بدیم و طولش رو هم باید بدیم، که میشه ۱۳.
از user بخواید که یه متن نسبتاً طولانی رو وارد کنه (مثلاً به اندازه یک خط)، بعد طول متنی که وارد کرده رو بهش بگید.
بعد ازش یه نقطه شروع و یه نقطه پایان بگیرید و اون قطعه از متن رو که بین این نقطه شروع و پایان قرار داره، بهش نشان بدید. (یادتان باشه که تو پایتون index ها از صفر شروع میشن، نه یک!)
از user بخواید که هر کلمه ای که میخواد رو وارد کنه و بعد شما اون کلمه رو جوری بهش نمایش بدید که همه حروفش، حروف بزرگ الفبا باشن.
از user بخواید که اسم کوچکش رو وارد کنه. اگه طول اسم کوچیکش از ۵ کمتر بود، ازش بخواید اسم خانوادگیش رو هم وارد کنه و بعد هر دو رو به هم بچسبانید (بدون space بینشان) و در آخر هم اسم کاملشان رو با حروف بزرگ بهشان نشان بدید.
ولی اگه طول اسم کوچکشان ۵ یا بیشتر از ۵ بود، اسم کوچکشان رو با حروف کوچک بهشان نشان بدید.
این چالش یکم به فکر نیاز داره، ولی اونقدر ها هم سخت نیست.
از user بخواید یه کلمه وارد کنه، اگه اون کلمه حرف اولش جزو حروف صدا دار نباشه (a, e, i, o, u)، حرف اولش رو ببر بچسبان به آخر کلمه و یه ay هم بزن آخرش و نتیجه رو با حروف کوچیک نشان بده.
اگه کلمه با حروف صدا دار شروع میشه، فقط یه way بچسبان به آخرش و نتیجه رو با حروف کوچیک نشان بده.
مثلاً اگه کلمه ای که وارد میکنن "Sohail" باشه، شما باید بهش ohailsay رو نشان بدید. یا اگه "Virgool" رو وارد کنن، شما باید بهشان irgoolvay رو نشان بدید.
و اگه کلمه ای که وارد میکنن "Iran" باشه، شما باید بهش iranway رو نشان بدید. یا اگه به برنامه "Eshgh" بدن، شما باید بهش eshghway رو نشان بدید.
یا علی.