تکرار روی همه کاراکترها
از آنجایی که یک کاراکتر توسط شاخص قابل دسترسی است، میتوانید از یک حلقه متغیر برای تکرار روی همه کاراکترها استفاده کنید که مقادیر شاخص ممکن را به خود میگیرد. به عنوان مثال، برنامه ای که تمام کدهای کاراکتر رشته
s
را نمایش می دهد به این شکل خواهد بود.
<پیش>
برای i در محدوده(لنزها):
چاپ (s[i]، ord(s[i]))
توضیحات برنامه:
1) تابع
len(s)
طول یک رشته را پیدا می کند. شاخص اولین کاراکتر 0 و شاخص آخرین کاراکتر len(s)-1 است. متغیر حلقه
i
فقط مقادیری را به ترتیب از
0
تا
len(s)-1
می گیرد.
2) در هر خط ابتدا خود نماد و سپس کد آن نمایش داده می شود که توسط تابع داخلی
ord().
برگردانده می شود.
همین شمارش را می توان کوتاهتر نوشت:
<پیش>
برای c در s:
چاپ (c، ord(c))
در این قطعه، هدر حلقه از میان تمام کاراکترهای s حلقه زده و آنها را به نوبه خود در متغیر
c
قرار می دهد.
همانطور که قبلا ذکر شد، ویژگی پایتون هنگام کار با رشته ها این است که رشته ها اشیایی تغییر ناپذیر هستند. به عبارت دیگر، ما نمیتوانیم تک تک کاراکترهای یک رشته را تغییر دهیم.
به عنوان مثال، عبارت زیر کار نخواهد کرد
<پیش>
s[5]='a'
اما می توانید یک خط جدید از کاراکترها با تغییرات لازم بسازید.
وظیفه
در رشته ورودی، همه کاراکترهای 'a' به کاراکترهای 'b'.
<پیش>
s = ورودی()
sNew = ""
برای c در s:
اگر c == 'a': c = 'b'
sNew += c
print(sNew)
در این برنامه حلقه از تمام کاراکترهای رشته s عبور می کند. در بدنه حلقه، مقدار متغیر
с
را بررسی می کنیم: اگر نماد با نماد '
a
' مطابقت داشته باشد، آن را جایگزین می کنیم. با '
b< /code>' و با استفاده از عملگر جمع، آن را به انتهای خط جدید sNew
اضافه کنید.
این گزینه نسبتاً کند است.
در آینده، نگاهی به توابع دستکاری رشته های داخلی خواهیم داشت و نحوه انجام آن را سریعتر خواهیم آموخت.