جلسه بیست و سوم

مروری بر مباحث

In`` و `not in`

در زبان برنامه‌نویسی پایتون، عبارت های `in` و `not in` به طور گسترده استفاده می‌شوند و اهمیت زیادی دارند. این عبارات برای بررسی عضویت اعضا در مجموعه‌ها و سایر انواع داده‌ساختارها استفاده می‌شوند.

`in`:

– عبارت `in` برای بررسی اینکه آیا یک عنصر در یک مجموعه داده‌ای وجود دارد یا خیر استفاده می‌شود.

– مثال:

				
					fruits = ['apple', 'banana', 'cherry']
if 'banana' in fruits:
    print('banana is in fruits.')
else:
    print('banana is not in fruits.')
				
			

`not in`:

– عبارت `not in` برای بررسی اینکه آیا یک عنصر در یک مجموعه داده‌ای وجود ندارد یا خیر استفاده می‌شود.

– مثال:

				
					numbers = [1, 2, 3, 4, 5]
if 6 not in numbers:
    print('6 is not in numbers.')
else:
    print('6 is in numbers.')
				
			

این عبارات کاربردهای بسیار زیادی در برنامه‌نویسی پایتون دارند و به طور گسترده استفاده می‌شوند. برخی از کاربردهای آن‌ها عبارتند از:

– بررسی عضویت در لیست‌ها، تاپل‌ها، مجموعه‌ها و دیگر انواع داده‌ساختارها

– کنترل جریان برنامه بر اساس عضویت یک عنصر در مجموعه داده‌ای

– فیلتر کردن داده‌ها بر اساس عضویت

– بررسی عضویت کاراکترها در رشته‌ها

– و بسیاری موارد دیگر

مثال 1:

				
					players = []
if players:
    for player in players:
        print("Player: " + player.title())
else:
    print("We have no players yet!")
				
			

`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 را وارد نکرده پیام بگیر و چاپ کن.

				
					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)
				
			

نکته: زمانی که کاربر عبارت quit را وارد کند برنامه از حلقه خارج شده .

flag

در برنامه‌نویسی، یک “flag” (پرچم) یک متغیر یا مقداری است که برای نشان دادن وضعیت یا شرایط خاصی در برنامه استفاده می‌شود. flags معمولاً به عنوان یک مقدار منطقی (True/False) استفاده می‌شوند و برای کنترل جریان اجرای برنامه کاربرد دارند.

مثال 3:کار با flag و مفهوم ان.

				
					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)
				
			

مثال 4:گرفتن نام شهر تا زمانی ک کاربر عبارت quit را وارد کند.

				
					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 + "!")
				
			

مثال 5: تفاوت دستور continue و break .

				
					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)
				
			

مثال 6: حذف تمام یک نوع داده از لیست.

				
					pets = ['dog', 'cat', 'dog', 'fish', 'cat',
'rabbit', 'cat']
print(pets)
while 'cat' in pets:
    pets.remove('cat')
print(pets)