دوره ویژه مقدماتی پایتون – Telegram
دوره ویژه مقدماتی پایتون
436 subscribers
248 photos
4 videos
250 links
Download Telegram
⁉️ تست 142 : خروجی کد زیر چیست؟
def sum_to(x):
return x+sum_to(x-1)
print(sum_to(5))

1️⃣: 5
️0%(0)
2️⃣: 15
️0%(0)
3️⃣: RuntimeError
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(30)

👥: 30شرکت در نظر سنجی
✍️توابع بازگشتی – (قسمت سوم)

توابع بازگشتی می توانند غیر مستقیم اعمال شوند. یک تابع می تواند تابع دوم را صدا کند، تابع دوم تابع اول را، تابع اول تابع دوم را ... . این کار می تواند با هر تعداد تابع انجام شود.

def is_even(x):
if x == 0 :
return True
else:
return is_odd(x-1)

def is_odd(x):
return not is_even(x)

print(is_odd(17))
print(is_even(23))

خروجی :
>>>
True
False
>>>

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
⁉️تست 143 : خروجی کد زیر چیست؟
def fib(x):
if x == 0 or x ==1 :
return 1
else:
return fib(x-1) + fib(x-2)
print(fib(4))

1️⃣: 5
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(32)
2️⃣: 6
️0%(0)
3️⃣: 8
️0%(0)
4️⃣: error
️0%(0)

👥: 32شرکت در نظر سنجی
✍️Set

این نوع از set ها یک نوع ساختار داده است مثل لیست ها یا دیکشنری ها. با استفاده از { } و یا تابع set ساخته می شوند. بعضی از عملکرد هایش شبیه لیست ها است، مثل استفاده از in برای اینکه بررسی کنیم که یک آیتم در آن وجود دارد یا نه.

Num_set = {1, 2, 3, 4, 5}
Word_set = set([“spam”, “eggs”, “sausage”])

Print(3 in num_set)
Print(“spam” not in word_set)

خروجی :
>>>
True
False
>>>

📌برای ساخت یک set خالی، باید از set() استفاده کنید. همان طور که از {} برای ساخت دیکشنری خالی استفاده می کردیم.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
⁉️ تست 144 : خروجی کد زیر چیست؟
letters = {"a", "b", "c", "d"}
if "e" not in letters:
print(1)
else:
print(2)

1️⃣: 1
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(35)
2️⃣: 2
️0%(0)
3️⃣: 1 2
️0%(0)

👥: 35شرکت در نظر سنجی
✍️Set (2)

البته set ها از خیلی جهات با لیست ها متفاوت هستند، اما با این حال از برخی عملکرد های آن مانند len استفاده می کند. Set ها دارای ترتیب نیستند بنابراین نمی توان آن ها را index دهی کرد. نمی توانند شامل مقدار های تکراری باشند. به خاطر نحوه ی ذخیره کردنشان، در مقایسه با لیست ها، خیلی سریعتر می توانند بررسی شوند که یک آیتم در آن وجود دارد یا نه. در این روش به جای استفاده از append از دستور add استفاده می کنیم. متد remove، یک آیتم خاص را از set حذف می کند و pop اولیت آیتم آن را بر می دارد.

Nums = {1, 2, 1, 3, 1, 4, 5, 6}
Print(nums)
Nums.add(-7)
Nums.remove(3)
Print(nums)

خروجی :
>>>
{1, 2, 3, 4, 5, 6}
{1, 2, 4, 5, 6, -7}
>>>

📌ساده ترین استفاده ی از set ها این است که عضویت یک آیتم را بررسی می کند و مقادیر تکراری را حذف می کند.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
⁉️ تست 145 : جاهای خالی را طوری پر کنید که یک set ایجاد شود، حرف "z" به آن اضافه شود و طول آن چاپ شود.
nums = ... "a", "b", "c", "d" ...
nums. ... ("z")
print( ... (nums))

1️⃣: ( ) - append - len
️|||6%(2)
2️⃣: { } - append - index
️0%(0)
3️⃣: { } - add - len
️|||||||||||||||||||||||||||||||||||||||||||||||94%(29)

👥: 31شرکت در نظر سنجی
✍️Set (3)

می توانند با استفاده از عملگر های ریاضی با هم ترکیب شوند.
عملگر اتحاد یعنی | دو set را با هم ترکیب می کند تا یک set که شامل دوتای قبلی هست را بسازد.
عملگر & ، مقادیری که در هر دو set مشترک است را باز می گرداند.
عملگر - آیتم هایی را که در اولی وجود دارد ولی در دومی وجود ندارد را باز می گرداند.
عملگر ^ آیتم هایی که در دو Set مشترک نیست را باز می گرداند.

first = {1, 2, 3, 4, 5, 6}
second = {4, 5, 6, 7, 8, 9}

print (first | second)
print (first & second)
print (first - second)
print (second - first)
print (first ^ second)

خروجی :
>>>
{1, 2, 3, 4, 5, 6, 7, 8, 9}
{4, 5, 6}
{1, 2, 3}
{8, 9, 7}
{1, 2, 3, 7, 8, 9}
>>>

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
⁉️ تست 146 : خروجی کد زیر چیست؟
a = {1, 2, 3}
b = {0, 3, 4, 5}
print ( a & b )

1️⃣: {3}
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(31)
2️⃣: {0}
️0%(0)
3️⃣: {5}
️0%(0)

👥: 31شرکت در نظر سنجی
⁉️ تست 147 : کدام یک از انواع داده زیر دارای مقادیر تکراری نیست؟

1️⃣: set ها
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(30)
2️⃣: دیکشنری ها
️0%(0)
3️⃣: لیست ها
️0%(0)
4️⃣: tuple ها
️0%(0)

👥: 30شرکت در نظر سنجی
✍️ساختار داده ها

در درس های قبلی دیدیم که، پایتون ساختار داده های زیر را پشتیبانی می کند: لیست ها، دیکشنری ها، tuple ها، set ها.
زمانی که از دیکشنری استفاده می کنیم:
زمانی که به یک تجمع منطقی احتیاج داریم که با key:value نشانشان دهیم.
زمانی که به جستجوی سریع در داده با استفاده از کلید احتیاج دارید.
زمانی که داده شما به صورت متداوم تغییر می کند.
به خاطر داشته باشید که مقادیر دیکشنری ها قابل تغییر است.

📌زمانی که از دیگر ساختار ها استفاده می کنیم:
اگر یک مجموعه ای از داده دارید که به دسترسی رندم احتیاج ندارند از لیست ها استفاده کنید. و همچنین زمانی که به یک لیست قابل تکرار احتیاج دارید که مکررا در حال تغییر است از لیست ها استفاده کنید.
اگر احتیاج دارید که مجموعه ای داشته باشید که اعضای آن منحصر به فرد باشند از set ها استفاده کنید.
زمانی که داده ای دارید که تغییر نمی کنند از tuple ها استفاده کنید.

💡خیلی وقت ها، tuple ها با دیکشنری ها ترکیب می شوند. چون tuple ها تغییر نمی کنند می توانند به عنوان کلید در دیکشنری ها استفاده شوند.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔
✍️Itertools

ماژول itertools یک کتابخانه ی استاندارد است که شامل بسیاری از توابع مفید در برنامه نویسی کاربردی است. یکی از توابع آن iterator های بی نهایت است.
تابع count به تعداد بی نهایت می شمارد.
تابع cycle به صورت بی نهایت بر روی مجموعه ها عملی را تکرار می کند.
تابع repeat یک شی را تکرار می کند، چه بی نهایت و یا به یک تعداد مشخص.

From itertools import count

For I in count(3):
Print(i)
If I >= 11 :
Break

خروجی :
>>>
3
4
5
6
7
8
9
10
11
>>>

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
⁉️ تست 148 : جاهای خالی را طوری پر کنید که تابع cycle از ماژول itertools اضافه شود.
... itertools import ...

1️⃣: import - cycle
️0%(0)
2️⃣: import - module
️0%(0)
3️⃣: from - module
️0%(0)
4️⃣: from - cycle
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(34)

👥: 34شرکت در نظر سنجی
✍️Itertools (2)

تعداد زیادی تابع در itertools هست که بر روی iterable ها اعمالی را انجام می دهد، مثل map و filter.
takewhile :
تا زمانی تابع شرطی true باقی بماند، مقادیر را از iterable ها می گیرد.

Chain :
چندین iterable را در یک مجموعه ی بزرگ می گزارد.

Accumulate :
جمع همه ی اعداد در یک مجموعه را تک تک در طول مجموعه محاسبه می کند.

from itertools import accumulate, takewhile
nums = list(accumulate(range(8)))
print(nums)
print(list(takewhile(lambda x : x <= 6, nums)))

خروجی :
>>>
[0, 1, 3, 6, 10, 15, 21, 28]
[0, 1, 3, 6]
>>>

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
⁉️ تست 149 : جاهای خالی را طوری پر کنید که با استفاده از تابع takewhile، اعداد زوج را از لیست بگیرد.
from itertools ... takewhile
nums = [2, 4, 6, 7, 9, 8]
a = .... ( .... x : x%2 == 0, nums)
print(list(a))

1️⃣: import - takewhile - lambda
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(31)
2️⃣: in - take - lambda
️0%(0)
3️⃣: import - take - func
️0%(0)

👥: 31شرکت در نظر سنجی
✍️Itertools (2)

در itertool ها ترکیبی از توابع دیگر مثل product و permutation وجود دارد. این ها زمانی استفاده می شوند که شما می خواهید با مجموعه ی ترکیب همه ی اعضای یک مجموعه یک عمل را انجام دهید.

From itertools import product, permutations

Letters = (“A”, “B”)
Print(list(product(letters, range(2))))
Print(list(permutations(letters)))

خروجی:
>>>
[(‘A’, 0), (‘A’, 1), (‘B’, 0), (‘B’, 1)]
[(‘A’, ‘B’), (‘B’, ‘A’)]
>>>

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
⁉️ تست 150 : خروجی کد زیر چیست؟
from itertools import product
a = {1, 2}
print(len(list(product(range(3), a))))

1️⃣: 2
️0%(0)
2️⃣: 3
️0%(0)
3️⃣: 6
️||||||||||||||||||||||||||||||||||||||||||||||||97%(31)
4️⃣: 0
️|3%(1)

👥: 32شرکت در نظر سنجی
⛔️ بخش برنامه نویسی کاربردی به پایان رسید، می توانید برای ارزیابی خود، به سوالات زیر پاسخ دهید.

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
خروجی کد زیر چیست؟
nums = {1,2,3,4,5,6}
nums = {0,1,2,3} & nums
nums = filter(lambda x : x > 1, nums)
print(len(list(nums)))

1️⃣: 10
️0%(0)
2️⃣: 2
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(32)
3️⃣: 4
️0%(0)
4️⃣: error
️0%(0)

👥: 32شرکت در نظر سنجی
حروجی کد زیر چیست؟
def power (x, y) :
if y == 0 :
return 1
else :
return x * power(x,y-1)

print(power(2,3))

1️⃣: 16
️0%(0)
2️⃣: 1
️0%(0)
3️⃣: 0
️0%(0)
4️⃣: 8
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(31)

👥: 31شرکت در نظر سنجی
جای خالی را طوری پر کنید که عبارت x *(x-1( را در یک تابع کوتاه صدا منید و ورودی 6 را به تابع بدهید.
a = ( ... x : x ... ( x+ 1)) ...
print(a)

1️⃣: lambda - ** - 6
️0%(0)
2️⃣: lambda - * - (6)
️||||||||||||||||||||||||||||||||||||||||||||||||97%(30)
3️⃣: filter - * - (6)
️0%(0)
4️⃣: filter - ** - 6
️|3%(1)

👥: 31شرکت در نظر سنجی