جلسه بیست و سوم
مروری بر مباحث
In و
not in
در زبان برنامهنویسی پایتون، عبارت های in
و not in
به طور گسترده استفاده میشوند و اهمیت زیادی دارند. این عبارات برای بررسی عضویت اعضا در مجموعهها و سایر انواع دادهساختارها استفاده میشوند.
in:
– عبارت in
برای بررسی اینکه آیا یک عنصر در یک مجموعه دادهای وجود دارد یا خیر استفاده میشود.
– مثال:
1 2 3 4 5 6 7 |
<xmp>fruits = ['apple', 'banana', 'cherry'] if 'banana' in fruits: print('banana is in fruits.') else: print('banana is not in fruits.')</xmp> |
not in:
– عبارت not in
برای بررسی اینکه آیا یک عنصر در یک مجموعه دادهای وجود ندارد یا خیر استفاده میشود.
– مثال:
1 2 3 4 5 6 7 |
<xmp>numbers = [1, 2, 3, 4, 5] if 6 not in numbers: print('6 is not in numbers.') else: print('6 is in numbers.')</xmp> |
این عبارات کاربردهای بسیار زیادی در برنامهنویسی پایتون دارند و به طور گسترده استفاده میشوند. برخی از کاربردهای آنها عبارتند از:
– بررسی عضویت در لیستها، تاپلها، مجموعهها و دیگر انواع دادهساختارها
– کنترل جریان برنامه بر اساس عضویت یک عنصر در مجموعه دادهای
– فیلتر کردن دادهها بر اساس عضویت
– بررسی عضویت کاراکترها در رشتهها
– و بسیاری موارد دیگر
مثال 1:
1 2 3 4 5 6 7 8 |
<xmp>players = [] if players: for player in players: print("Player: " + player.title()) else: print("We have no players yet!")</xmp> |
players = []
: این خط یک لیست خالی به نام players
ایجاد میکند. در این مثال فرض میکنیم که هنوز هیچ بازیکنی به این لیست اضافه نشده است. if players:
: این شرط بررسی میکند که آیا لیست players
خالی است یا خیر. اگر لیست خالی نباشد (یعنی حداقل یک عضو داشته باشد)، شرط صحیح خواهد بود. for player in players:
: اگر شرط بالا صحیح باشد، این بلوک کد اجرا خواهد شد. در این بلوک، برای هر عضو موجود در لیست players
، متن “Player: ” به همراه نام بازیکن (با استفاده از player.title()
که اولین حرف را بزرگ میکند) چاپ میشود.
else:
: اگر لیست players
خالی باشد (شرط بالا صحیح نباشد)، این بخش کد اجرا خواهد شد.print("We have no players yet!")
: اگر لیست players
خالی باشد، این پیام چاپ میشود.
در مجموع، این کد به دو صورت ممکن است خروجی تولید کند:
1. اگر لیست players
خالی باشد: “We have no players yet!”
2. اگر لیست players
دارای یک یا چند عضو باشد: “Player: Player1”, “Player: Player2”, “Player: Player3”, و غیره
1. t
: تب (tab) – این کاراکتر باعث میشود که متن به اندازه یک تب جابهجا شود.
2. r
: بازگشت به ابتدای خط (carriage return) – این کاراکتر متن را به ابتدای همان خط منتقل میکند.
3. b
: پاک کردن یک کاراکتر به عقب (backspace) – این کاراکتر آخرین کاراکتر را پاک میکند.
4. n
: پایان خط (new line) – این کارکتر چاپ رشته را به خط جدید منتقل شود.
مثال 2: تا زمانی که کاربر عبارت quit را وارد نکرده پیام بگیر و چاپ کن.
1 2 3 4 5 6 7 8 9 10 |
<xmp>prompt = "nTell me something, and I'll " prompt += "repeat it back to you." prompt += "nEnter 'quit' to end the program. " message = "" while message != 'quit': message = input(prompt) if message != 'quit': print(message)</xmp> |
نکته: زمانی که کاربر عبارت quit را وارد کند برنامه از حلقه خارج شده .
flag
در برنامهنویسی، یک “flag” (پرچم) یک متغیر یا مقداری است که برای نشان دادن وضعیت یا شرایط خاصی در برنامه استفاده میشود. flags معمولاً به عنوان یک مقدار منطقی (True/False) استفاده میشوند و برای کنترل جریان اجرای برنامه کاربرد دارند.
مثال 3:کار با flag و مفهوم ان.
1 2 3 4 5 6 7 8 9 10 11 12 |
<xmp>prompt = "nTell me something, and I'll " prompt += "repeat it back to you." prompt += "nEnter 'quit' to end the program. " active = True while active: message = input(prompt) if message == 'quit': active = False else: print(message)</xmp> |
مثال 4:گرفتن نام شهر تا زمانی ک کاربر عبارت quit را وارد کند.
1 2 3 4 5 6 7 8 9 10 |
<xmp>prompt = "nWhat cities have you visited?" prompt += "nEnter 'quit' when you're done. " while True: city = input(prompt) if city == 'quit': break else: print("I've been to " + city + "!")</xmp> |
مثال 5: تفاوت دستور continue و break .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<xmp>banned_users = ['eve', 'fred', 'gary', 'helen'] prompt = "nAdd a player to your team." prompt += "nEnter 'quit' when you're done. " players = [] while True: player = input(prompt) if player == 'quit': break elif player in banned_users: print(player + " is banned!") continue else: players.append(player) print("nYour team:") for player in players: print(player)</xmp> |
مثال 6: حذف تمام یک نوع داده از لیست.
1 2 3 4 5 6 7 8 |
<xmp>pets = ['dog', 'cat', 'dog', 'fish', 'cat', 'rabbit', 'cat'] print(pets) while 'cat' in pets: pets.remove('cat') print(pets)</xmp> |