⛔️ بخش regular expressionها به پایان رسید، می توانید برای ارزیابی خود، به سوالات زیر پاسخ دهید.
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
⁉️ کدام یک از metacharacter های زیر با تکرار ذکر نمی شوند؟
1️⃣: +
▫ ️0%(0)
2️⃣: \
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(6)
3️⃣: *
▫ ️0%(0)
👥: 6شرکت در نظر سنجی
1️⃣: +
▫ ️0%(0)
2️⃣: \
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(6)
3️⃣: *
▫ ️0%(0)
👥: 6شرکت در نظر سنجی
⁉️ چند گروه در کد زیر وجود دارد؟
(ab)(c(d(e)f))(g)
1️⃣: 4
▫ ️0%(0)
2️⃣: 5
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(5)
3️⃣: 6
▫ ️0%(0)
4️⃣: 1
▫ ️0%(0)
👥: 5شرکت در نظر سنجی
(ab)(c(d(e)f))(g)
1️⃣: 4
▫ ️0%(0)
2️⃣: 5
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(5)
3️⃣: 6
▫ ️0%(0)
4️⃣: 1
▫ ️0%(0)
👥: 5شرکت در نظر سنجی
⁉️کدام یک از عبارت های زیر با آدرس ایمیل زیر تطابق دارد؟
"email@domain.com"
1️⃣: email\@(domain\w)+
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(5)
2️⃣: \w+@domain.com
▫ ️0%(0)
3️⃣: [0-9]@domain\.com
▫ ️0%(0)
👥: 5شرکت در نظر سنجی
"email@domain.com"
1️⃣: email\@(domain\w)+
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(5)
2️⃣: \w+@domain.com
▫ ️0%(0)
3️⃣: [0-9]@domain\.com
▫ ️0%(0)
👥: 5شرکت در نظر سنجی
⁉️ کدام یک از رشته های زیر با عبارت زیر تطابق دارد؟
"[01]+0$"
1️⃣: 0101
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(5)
2️⃣: 011101
▫ ️0%(0)
3️⃣: 10101111001010
▫ ️0%(0)
👥: 5شرکت در نظر سنجی
"[01]+0$"
1️⃣: 0101
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(5)
2️⃣: 011101
▫ ️0%(0)
3️⃣: 10101111001010
▫ ️0%(0)
👥: 5شرکت در نظر سنجی
⁉️ کدام یک از گزینه های زیر با عبارت زیر تطابق دارد؟
"(4{5,6})\1"
1️⃣: 10تا یا 12تا چهار
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(5)
2️⃣: 456
▫ ️0%(0)
3️⃣: 5تا یا 6تا چهار
▫ ️0%(0)
👥: 5شرکت در نظر سنجی
"(4{5,6})\1"
1️⃣: 10تا یا 12تا چهار
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(5)
2️⃣: 456
▫ ️0%(0)
3️⃣: 5تا یا 6تا چهار
▫ ️0%(0)
👥: 5شرکت در نظر سنجی
✍️ورودی های توابع
پایتون اجازه می دهد توابعی داشته باشیم که تعداد ورودی های متفاوتی را بگیرند. از متغیر args* برای پارامتر تابع استفاده می کنیم تا بتوانیم ورودی با تعداد متغیر را به تابع بفرستیم. ورودی ها به عنوان لیستی از تاپل ها در کد تابع استفاده می شود.
مثال :
def function(named_arg, *args):
print(named_arg)
print(args)
function(1,2,3,4,5)
خروجی :
»>
1
(2,3,4,5)
»>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
پایتون اجازه می دهد توابعی داشته باشیم که تعداد ورودی های متفاوتی را بگیرند. از متغیر args* برای پارامتر تابع استفاده می کنیم تا بتوانیم ورودی با تعداد متغیر را به تابع بفرستیم. ورودی ها به عنوان لیستی از تاپل ها در کد تابع استفاده می شود.
مثال :
def function(named_arg, *args):
print(named_arg)
print(args)
function(1,2,3,4,5)
خروجی :
»>
1
(2,3,4,5)
»>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
⁉️ تست 186 : عبارت *args چگونه به داخل یک تابع دسترسی پیدا می کنند؟
1️⃣: به عنوان تاپل
▫ ️0%(0)
2️⃣: به عنوان لیست args*
▫ ️||||||13%(1)
3️⃣: به عنوان تاپل args*
▫ ️||||||||||||||||||||||||||||||||||||||||||||88%(7)
👥: 8شرکت در نظر سنجی
1️⃣: به عنوان تاپل
▫ ️0%(0)
2️⃣: به عنوان لیست args*
▫ ️||||||13%(1)
3️⃣: به عنوان تاپل args*
▫ ️||||||||||||||||||||||||||||||||||||||||||||88%(7)
👥: 8شرکت در نظر سنجی
✍️ مقادیر دیفالت
پارامتر هایی که در ورودی یک تابع گزاشته شده اند می توانند مقادیر پیش فرض داشته باشند. این موارد باید بعد از پارامتر هایی که هیچ پیش فرضی ندارند بیایند.
مثال :
def function(x, y, food = "spam") :
print(food)
function(1,2)
function(3,4,"egg")
خروجی :
»>
spam
egg
»>
📌در این حالت زمانی که به ورودی ای که مقدار پیش فرض داشته مقدار جدیدی پاس داده می شود، مقدار پیش فرض نادیده گرفته می شود.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
پارامتر هایی که در ورودی یک تابع گزاشته شده اند می توانند مقادیر پیش فرض داشته باشند. این موارد باید بعد از پارامتر هایی که هیچ پیش فرضی ندارند بیایند.
مثال :
def function(x, y, food = "spam") :
print(food)
function(1,2)
function(3,4,"egg")
خروجی :
»>
spam
egg
»>
📌در این حالت زمانی که به ورودی ای که مقدار پیش فرض داشته مقدار جدیدی پاس داده می شود، مقدار پیش فرض نادیده گرفته می شود.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
⁉️ تست 187 : در کد زیر چه مشکلی وجود دارد؟
def function(x, y = 7, z,*argums):
1️⃣: عبارت argums* در آخر آمده است.
▫ ️0%(0)
2️⃣: یک ورودی که دارای مقدار پیش فرض نیست بعد از ورودی ای که دارای مقدار پیش فرض است آمده است.
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(8)
3️⃣: عبارت argums* به جای عبارت args* استفاده شده است.
▫ ️0%(0)
👥: 8شرکت در نظر سنجی
def function(x, y = 7, z,*argums):
1️⃣: عبارت argums* در آخر آمده است.
▫ ️0%(0)
2️⃣: یک ورودی که دارای مقدار پیش فرض نیست بعد از ورودی ای که دارای مقدار پیش فرض است آمده است.
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(8)
3️⃣: عبارت argums* به جای عبارت args* استفاده شده است.
▫ ️0%(0)
👥: 8شرکت در نظر سنجی
✍️ ورودی های توابع
عبارت kwargs** که مخفف keyword arguments است این قابلیت را ایجاد می کند تا مقادیری را که از قبل تعریف نکرده بودید بتوانید کنترل کنید.
مثال :
def my_func(x, y-=7, *args, kwargs):
print(kwargs)
my_func(2, 3, 4, 5, 6, a=7, b=8)
خروجی :
»>
{'a' : 7, 'b' : 8}
»>
⚠️ در مثال بالا a و b نام های ورودی هایی هستند که به تابع پاس داده ایم.
📌 ورودی های که kwargs شامل args* نمی شوند.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
عبارت kwargs** که مخفف keyword arguments است این قابلیت را ایجاد می کند تا مقادیری را که از قبل تعریف نکرده بودید بتوانید کنترل کنید.
مثال :
def my_func(x, y-=7, *args, kwargs):
print(kwargs)
my_func(2, 3, 4, 5, 6, a=7, b=8)
خروجی :
»>
{'a' : 7, 'b' : 8}
»>
⚠️ در مثال بالا a و b نام های ورودی هایی هستند که به تابع پاس داده ایم.
📌 ورودی های که kwargs شامل args* نمی شوند.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
⁉️ تست 188 : عبارت kwargsاز چه نوعی هستند؟
1️⃣: set
▫ ️0%(0)
2️⃣: list
▫ ️0%(0)
3️⃣: dictionary
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(7)
👥: 7شرکت در نظر سنجی
1️⃣: set
▫ ️0%(0)
2️⃣: list
▫ ️0%(0)
3️⃣: dictionary
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(7)
👥: 7شرکت در نظر سنجی
✍️tuple unpacking
این روش به شما اجازه می دهد تا به صورت تکرار شونده مقادیر را اختصاص دهید.
مثال :
numbers = (1,2,3)
a, b, c = numbers
print(a)
print(b)
print(c)
خروجی :
»>
1
2
3
»>
📌این روش همچنین می تواند برای روش Swap هم استفاده شود.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
این روش به شما اجازه می دهد تا به صورت تکرار شونده مقادیر را اختصاص دهید.
مثال :
numbers = (1,2,3)
a, b, c = numbers
print(a)
print(b)
print(c)
خروجی :
»>
1
2
3
»>
📌این روش همچنین می تواند برای روش Swap هم استفاده شود.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
⁉️ تست 189 : مقدار y پس از اعمال کد زیر چه چیزی خواهد بود؟
x, y = [1, 2]
x, y = y, x
1️⃣: 1
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(6)
2️⃣: 2
▫ ️0%(0)
3️⃣: error
▫ ️0%(0)
👥: 6شرکت در نظر سنجی
x, y = [1, 2]
x, y = y, x
1️⃣: 1
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(6)
2️⃣: 2
▫ ️0%(0)
3️⃣: error
▫ ️0%(0)
👥: 6شرکت در نظر سنجی
✍️tuple unpacking
زمانی که یک متغیر با * همراه می شود، همه ی مقادیری را که به متغیر های دیگر نمی توانند اختصاص پیدا کنند را میگیرد.
مثال :
a, b, *c, d = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(a)
print(b)
print(c)
print(d)
خروجی :
»>
1
2
[3,4,5,6,7,8]
9
»>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
زمانی که یک متغیر با * همراه می شود، همه ی مقادیری را که به متغیر های دیگر نمی توانند اختصاص پیدا کنند را میگیرد.
مثال :
a, b, *c, d = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(a)
print(b)
print(c)
print(d)
خروجی :
»>
1
2
[3,4,5,6,7,8]
9
»>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
⁉️ تست 190 : خروجی کد زیر چیست؟
a, b, c, d, *e, f, g = range(20)
print(len(e))
1️⃣: 14
▫ ️|||||||||||||||||||||||||||||||63%(5)
2️⃣: valuerror
▫ ️||||||13%(1)
3️⃣: 1
▫ ️||||||||||||25%(2)
4️⃣: 15
▫ ️0%(0)
👥: 8شرکت در نظر سنجی
a, b, c, d, *e, f, g = range(20)
print(len(e))
1️⃣: 14
▫ ️|||||||||||||||||||||||||||||||63%(5)
2️⃣: valuerror
▫ ️||||||13%(1)
3️⃣: 1
▫ ️||||||||||||25%(2)
4️⃣: 15
▫ ️0%(0)
👥: 8شرکت در نظر سنجی
✍️عملگر ternary
می توان شرایطی را فراهم کرد که با کد دستوری کمتر از عبارت if استفاده کرد. البته نباید بی مورد استفاده شوند حتی با اینکه باعث خوانایی بهتر برنامه می شوند. این حالت برای زمانی خوب است که میخواهیم مقداری را به یک متغیر اختصاص دهیم.
مثال :
a = 7
b = 1 if a >= 5 else 42
print(b)
خروجی :
»>
1
»>
📌عملگر های ternary شرایط را بررسی می کنند و مقدار متناظر را بر می گردانند. در مثال بالا اگر شرط درست باشد b مقدار 1 را می گیرد. اما اگر a کمتر از 5 باشد، عدد 42 به b اختصاص پیدا می کند.
⚠️مثال دیگر :
status = 1
msg = "logout" if status == 1 else "login"
💡عملگر ternary همیشه 3 ورودی می گیرد.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
می توان شرایطی را فراهم کرد که با کد دستوری کمتر از عبارت if استفاده کرد. البته نباید بی مورد استفاده شوند حتی با اینکه باعث خوانایی بهتر برنامه می شوند. این حالت برای زمانی خوب است که میخواهیم مقداری را به یک متغیر اختصاص دهیم.
مثال :
a = 7
b = 1 if a >= 5 else 42
print(b)
خروجی :
»>
1
»>
📌عملگر های ternary شرایط را بررسی می کنند و مقدار متناظر را بر می گردانند. در مثال بالا اگر شرط درست باشد b مقدار 1 را می گیرد. اما اگر a کمتر از 5 باشد، عدد 42 به b اختصاص پیدا می کند.
⚠️مثال دیگر :
status = 1
msg = "logout" if status == 1 else "login"
💡عملگر ternary همیشه 3 ورودی می گیرد.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
⁉️ تست 191 : مقدار b چقدر است؟
b = 1 if 2+2 == 5 else 2
1️⃣: 5
▫ ️0%(0)
2️⃣: 2
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(7)
3️⃣: 1
▫ ️0%(0)
4️⃣: b
▫ ️0%(0)
👥: 7شرکت در نظر سنجی
b = 1 if 2+2 == 5 else 2
1️⃣: 5
▫ ️0%(0)
2️⃣: 2
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(7)
3️⃣: 1
▫ ️0%(0)
4️⃣: b
▫ ️0%(0)
👥: 7شرکت در نظر سنجی
✍️else
دستور else همیشه با if همراه می شود اما در شرایطی می تواند با دستور for و while هم بیاید. در دستور های while و for، زمانی دستور else اجرا می شود که دستورات درون حلقه ها به صورت نرمال تموم شده باشند نه اینکه با break به اتمام برسد.
مثال :
for i in range(10)
if i == 999 :
break
else :
print("unbroken 1")
for i in range(10):
if i ==5 :
break
else :
print("unbroken 2")
خروجی :
»>
unbroken 1
»>
📌حلقه ی اول به صورت نرمال به اتمام می رسد که عبارت unbroken 1 چاپ می شود. حلقه ی دوم به دلیل اجرای break، دستور else اجرا نمی شود.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
دستور else همیشه با if همراه می شود اما در شرایطی می تواند با دستور for و while هم بیاید. در دستور های while و for، زمانی دستور else اجرا می شود که دستورات درون حلقه ها به صورت نرمال تموم شده باشند نه اینکه با break به اتمام برسد.
مثال :
for i in range(10)
if i == 999 :
break
else :
print("unbroken 1")
for i in range(10):
if i ==5 :
break
else :
print("unbroken 2")
خروجی :
»>
unbroken 1
»>
📌حلقه ی اول به صورت نرمال به اتمام می رسد که عبارت unbroken 1 چاپ می شود. حلقه ی دوم به دلیل اجرای break، دستور else اجرا نمی شود.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
⁉️تست 192 : بزرگترین عددی که این کد چاپ می کند چیست؟
for i in range(10) :
if i>5
print(i)
break
else :
print("7")
1️⃣: 5
▫ ️0%(0)
2️⃣: 6
▫ ️||||||||17%(1)
3️⃣: 7
▫ ️|||||||||||||||||||||||||||||||||||||||||83%(5)
4️⃣: 1
▫ ️0%(0)
👥: 6شرکت در نظر سنجی
for i in range(10) :
if i>5
print(i)
break
else :
print("7")
1️⃣: 5
▫ ️0%(0)
2️⃣: 6
▫ ️||||||||17%(1)
3️⃣: 7
▫ ️|||||||||||||||||||||||||||||||||||||||||83%(5)
4️⃣: 1
▫ ️0%(0)
👥: 6شرکت در نظر سنجی
✍️else
همچنین این دستور می تواند با عبارت try/except هم اجرا شود. در این حالت هم دستور else زمانی اجرا می شود که در دستور try هیچ اروری رخ ندهد.
مثال :
try :
print(1)
except ZeroDivisionError :
print(2)
else :
print(3)
try :
print(1/0)
except ZeroDivisionError :
print (4)
else :
print(5)
خروجی :
»>
1
3
4
»>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
همچنین این دستور می تواند با عبارت try/except هم اجرا شود. در این حالت هم دستور else زمانی اجرا می شود که در دستور try هیچ اروری رخ ندهد.
مثال :
try :
print(1)
except ZeroDivisionError :
print(2)
else :
print(3)
try :
print(1/0)
except ZeroDivisionError :
print (4)
else :
print(5)
خروجی :
»>
1
3
4
»>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge