🧵 رشته‌ها

متدهای رشته: strip، lower، count و شمارش حروف صدادار

۵ گام

متد: تابعی که به مقدار چسبیده

s = "  Hello World  "
print(s.strip())               # Hello World
print(s.strip().lower())       # hello world
print(s.count("l"))            # 3
print("World" in s)            # True
  • متدها رشتهٔ اصلی را تغییر نمی‌دهند، رشتهٔ جدید برمی‌گردانند.
  • for ch in text: یکی‌یکی حرف‌های متن را به ch می‌دهد.
  • in می‌پرسد «این تکه داخل متن هست؟» و True یا False برمی‌گرداند.
متد کار
strip() حذف فاصله‌های ابتدا و انتها
lower() / upper() کوچک / بزرگ کردن
replace(a, b) جایگزین کردن
count(x) شمردن
isdigit() همه رقم هستند؟

درس کامل متدهای رشته را هم ببین.

  1. ۱گام ۱

    متد تابعی است که به یک مقدار چسبیده و با نقطه صدا زده می‌شود. متد strip() فاصله‌های اضافهٔ ابتدا و انتهای متن را پاک می‌کند؛ مثلاً وقتی کاربر ورودی را با فاصله تایپ کرده باشد.

    متغیر text را برابر " Hello World " (با دو فاصله در ابتدا و انتها) بگذار. نسخهٔ تمیزشده را با text.strip() در clean بریز و clean را چاپ کن.

  2. ۲گام ۲

    رشته‌ها تغییرناپذیرند، پس متدها رشتهٔ اصلی را عوض نمی‌کنند و یک رشتهٔ جدید برمی‌گردانند.

    در دو خط جدا چاپ کن: clean.lower() (همه‌چیز کوچک) و clean.replace("World", "Python") (جایگزین کردن). باید hello world و Hello Python چاپ شود.

  3. ۳گام ۳

    برای شمردن از count و برای پرسیدن «آیا این تکه داخل متن هست؟» از عملگر in استفاده می‌شود.

    دو خط دیگر چاپ کن: تعداد حرف "l" در clean با clean.count("l") (باید 3 شود) و بعد نتیجهٔ "World" in clean (باید True شود).

  4. ۴گام ۴

    حالا روی تک‌تک حرف‌های یک متن حلقه می‌زنیم. برنامه‌ای تازه بنویس (کد قبلی را پاک کن) که یک متن انگلیسی با input() بگیرد و تعداد حروف صدادار (a, e, i, o, u) را چاپ کند.

    - تعداد را در count نگه دار (با 0 شروع کن). - با for ch in text.lower(): روی حرف‌ها بچرخ تا حروف بزرگ و کوچک فرقی نکنند. - شرط را با if ch in "aeiou": بنویس.

    ورودی آزمایشی Salam Donya است و جواب 4 می‌شود (a، a، o، a).

  5. ۵گام ۵

    متد isdigit() می‌گوید همهٔ کاراکترهای متن رقم هستند یا نه. قبل از int() کردن ورودی، با آن مطمئن می‌شویم کاربر عدد وارد کرده.

    برنامه‌ای تازه بنویس: ورودی را بگیر و در inp بریز. اگر inp.isdigit() درست بود، It's numeric: و بعد عدد را (به‌صورت int) چاپ کن، مثلاً It's numeric: 42. در غیر این صورت It's not a numeric! چاپ کن. ورودی آزمایشی 42 است.

در حال آماده‌سازی ویرایشگر…