⁉️ تست 139 : decorator ها کدام هستند؟
1️⃣: توابعی که خودشان را باز می گردانند.
▫ ️0%(0)
2️⃣: توابعی که درون اسم آنها علامت @ وجود دارد
▫ ️0%(0)
3️⃣: توابعی که توابع دیگر را تغییر می دهند.
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(31)
👥: 31شرکت در نظر سنجی
1️⃣: توابعی که خودشان را باز می گردانند.
▫ ️0%(0)
2️⃣: توابعی که درون اسم آنها علامت @ وجود دارد
▫ ️0%(0)
3️⃣: توابعی که توابع دیگر را تغییر می دهند.
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(31)
👥: 31شرکت در نظر سنجی
✍️Decorator (2)
در مثال قبلی، ما تابعمان را با جایگزینی متغیری که شامل تابع دیگری بود دکور کردیم.
def print_text():
print(“hello world!”)
print_text = decor(print_text)
این الگو می تواند برای هر تابعی در هر زمان، برای تغییر تابع دیگر مورد استفاده قرار بگیرد.
پایتون این قابلیت را ایجاد کرده است که با اضافه کردن نام تابع دکور با @ قبل از توابع دیگر آن ها را تغییر دهیم.
یعنی زمانی که ما یک تابع تعریف می کنیم می توانیم آن را با نشان @ دکور کنیم.
@decor
def print_text():
print(“Hello world!”)
📌یک تابع می تواند چندین تابع دکور کننده داشته باشد.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
در مثال قبلی، ما تابعمان را با جایگزینی متغیری که شامل تابع دیگری بود دکور کردیم.
def print_text():
print(“hello world!”)
print_text = decor(print_text)
این الگو می تواند برای هر تابعی در هر زمان، برای تغییر تابع دیگر مورد استفاده قرار بگیرد.
پایتون این قابلیت را ایجاد کرده است که با اضافه کردن نام تابع دکور با @ قبل از توابع دیگر آن ها را تغییر دهیم.
یعنی زمانی که ما یک تابع تعریف می کنیم می توانیم آن را با نشان @ دکور کنیم.
@decor
def print_text():
print(“Hello world!”)
📌یک تابع می تواند چندین تابع دکور کننده داشته باشد.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
⁉️تست 140 : کدام مورد زیر شبیه به کد ذکر شده عمل می کند؟
my_func = my_dec(my_func)
1️⃣: @my_dec
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(31)
2️⃣: my_func = @my_dec
▫ ️0%(0)
3️⃣: my_dec(my_func)
▫ ️0%(0)
👥: 31شرکت در نظر سنجی
my_func = my_dec(my_func)
1️⃣: @my_dec
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(31)
2️⃣: my_func = @my_dec
▫ ️0%(0)
3️⃣: my_dec(my_func)
▫ ️0%(0)
👥: 31شرکت در نظر سنجی
✍️توابع بازگشتی (recursion)
توابع بازگشتی یکی از مهمترین مباحث در برنامه نویسی کاربردی هستند.
پایه ی کار توابع بازگشتی، "ارجاع به خود" است (یعنی توابعی که خودشان را فراخوانی می کنند). این توابع زمانی استفاده می شوند که یک برنامه پیچیده بتواند به به چندین زیر تابع شبیه به هم شکسته شود.
یکی از توابع معروف که با استفاده از توابع بازگشتی پیاده سازی شده اند تابع factorial است. که ضرب همه ی اعداد پایین یک عدد را محاسبه می کند. برای مثال :
5! (5 Factorial) : 5 * 4 * 3 * 2 * 1 = 120
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
توابع بازگشتی یکی از مهمترین مباحث در برنامه نویسی کاربردی هستند.
پایه ی کار توابع بازگشتی، "ارجاع به خود" است (یعنی توابعی که خودشان را فراخوانی می کنند). این توابع زمانی استفاده می شوند که یک برنامه پیچیده بتواند به به چندین زیر تابع شبیه به هم شکسته شود.
یکی از توابع معروف که با استفاده از توابع بازگشتی پیاده سازی شده اند تابع factorial است. که ضرب همه ی اعداد پایین یک عدد را محاسبه می کند. برای مثال :
5! (5 Factorial) : 5 * 4 * 3 * 2 * 1 = 120
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
⚠️این روش با ضرب هر عدد در فاکتوریل عدد کوچکتر خود محاسبه می شود یعنی :
n * (n-1)!
که در نهایت به !1 می رسیم که برابر با مقدار 1 است و به عنوان حالت پایه شناخته می شود که می تواند بدون محاسبه ی هیچ فاکتوریلی جواب آن را به دست آورد.
در پایین کد پیاده سازی شده ی فاکتوریل نشان داده شده است:
def factorial(x):
if x == 1:
return 1
else :
return x * factorial(x-1)
print(factorial(5))
خروجی :
>>>
120
>>>
حالت پایه به عنوان حالت خروج توابع بازگشتی شناخته می شود.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
n * (n-1)!
که در نهایت به !1 می رسیم که برابر با مقدار 1 است و به عنوان حالت پایه شناخته می شود که می تواند بدون محاسبه ی هیچ فاکتوریلی جواب آن را به دست آورد.
در پایین کد پیاده سازی شده ی فاکتوریل نشان داده شده است:
def factorial(x):
if x == 1:
return 1
else :
return x * factorial(x-1)
print(factorial(5))
خروجی :
>>>
120
>>>
حالت پایه به عنوان حالت خروج توابع بازگشتی شناخته می شود.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
⁉️ تست 141 : حالت پایه ی تابع بازگشتی کدام است؟
1️⃣: حالتی که عدد 1 را بر می گرداند
▫ ️0%(0)
2️⃣: حالتی که تابع بازگشتی بعدی را فراخوانی نمی کند
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(30)
3️⃣: حالتی که هیچ گاه رخ نمی دهد
▫ ️0%(0)
👥: 30شرکت در نظر سنجی
1️⃣: حالتی که عدد 1 را بر می گرداند
▫ ️0%(0)
2️⃣: حالتی که تابع بازگشتی بعدی را فراخوانی نمی کند
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(30)
3️⃣: حالتی که هیچ گاه رخ نمی دهد
▫ ️0%(0)
👥: 30شرکت در نظر سنجی
✍️توابع بازگشتی – (قسمت دوم)
توابع بازگشتی می توانند مانند حلقه ی while بی نهایت، بی نهایت باشند. این حالت زمانی پیش می آید که شما فراموش می کنید حالت پایه را پیاده سازی کنید. در زیر یک ورژن اشتباه از فاکتوریل نشان داده شده است. این تابع دارای حالت پایه نیست و بنابراین تا زمانی که مفسر پاسخ می دهد و حافظه وجود دارد و برنامه crash نکرده است اجرا می شود.
def factorial(x):
return x * factorial(x-1)
print(factorial(5))
>>>
RuntimeError : maximum recursion depth exceeded
>>>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
توابع بازگشتی می توانند مانند حلقه ی while بی نهایت، بی نهایت باشند. این حالت زمانی پیش می آید که شما فراموش می کنید حالت پایه را پیاده سازی کنید. در زیر یک ورژن اشتباه از فاکتوریل نشان داده شده است. این تابع دارای حالت پایه نیست و بنابراین تا زمانی که مفسر پاسخ می دهد و حافظه وجود دارد و برنامه crash نکرده است اجرا می شود.
def factorial(x):
return x * factorial(x-1)
print(factorial(5))
>>>
RuntimeError : maximum recursion depth exceeded
>>>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
⁉️ تست 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 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
توابع بازگشتی می توانند غیر مستقیم اعمال شوند. یک تابع می تواند تابع دوم را صدا کند، تابع دوم تابع اول را، تابع اول تابع دوم را ... . این کار می تواند با هر تعداد تابع انجام شود.
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شرکت در نظر سنجی
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
این نوع از 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شرکت در نظر سنجی
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
البته 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شرکت در نظر سنجی
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
می توانند با استفاده از عملگر های ریاضی با هم ترکیب شوند.
عملگر اتحاد یعنی | دو 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شرکت در نظر سنجی
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شرکت در نظر سنجی
1️⃣: set ها
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(30)
2️⃣: دیکشنری ها
▫ ️0%(0)
3️⃣: لیست ها
▫ ️0%(0)
4️⃣: tuple ها
▫ ️0%(0)
👥: 30شرکت در نظر سنجی
✍️ساختار داده ها
در درس های قبلی دیدیم که، پایتون ساختار داده های زیر را پشتیبانی می کند: لیست ها، دیکشنری ها، tuple ها، set ها.
زمانی که از دیکشنری استفاده می کنیم:
زمانی که به یک تجمع منطقی احتیاج داریم که با key:value نشانشان دهیم.
زمانی که به جستجوی سریع در داده با استفاده از کلید احتیاج دارید.
زمانی که داده شما به صورت متداوم تغییر می کند.
به خاطر داشته باشید که مقادیر دیکشنری ها قابل تغییر است.
📌زمانی که از دیگر ساختار ها استفاده می کنیم:
اگر یک مجموعه ای از داده دارید که به دسترسی رندم احتیاج ندارند از لیست ها استفاده کنید. و همچنین زمانی که به یک لیست قابل تکرار احتیاج دارید که مکررا در حال تغییر است از لیست ها استفاده کنید.
اگر احتیاج دارید که مجموعه ای داشته باشید که اعضای آن منحصر به فرد باشند از set ها استفاده کنید.
زمانی که داده ای دارید که تغییر نمی کنند از tuple ها استفاده کنید.
💡خیلی وقت ها، tuple ها با دیکشنری ها ترکیب می شوند. چون tuple ها تغییر نمی کنند می توانند به عنوان کلید در دیکشنری ها استفاده شوند.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔
در درس های قبلی دیدیم که، پایتون ساختار داده های زیر را پشتیبانی می کند: لیست ها، دیکشنری ها، 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
ماژول 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 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
تعداد زیادی تابع در 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