خروجی کد زیر چیست ؟
fib = {1: 1, 2: 1, 3: 2, 4: 3}
print(fib.get(4, 0) + fib.get(7, 5))
1️⃣: 4
▫ ️0%(0)
2️⃣: 7
▫ ️0%(0)
3️⃣: 5
▫ ️0%(0)
4️⃣: 8
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(36)
👥: 36شرکت در نظر سنجی
fib = {1: 1, 2: 1, 3: 2, 4: 3}
print(fib.get(4, 0) + fib.get(7, 5))
1️⃣: 4
▫ ️0%(0)
2️⃣: 7
▫ ️0%(0)
3️⃣: 5
▫ ️0%(0)
4️⃣: 8
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(36)
👥: 36شرکت در نظر سنجی
✍️تاپل ها (Tuples)
تپل ها بسیار شبیه لیست ها هستند اما با این تفاوت که آنها تغییرناپذیر هستند. همچنین برای ساخت آنها به جای براکت ازبا پرانتز استفاده میشود.
words = ("spam", "eggs", "sausages",)
💡برای دسترسی به تاپل ها می توانیم از اندیس هایشان استفاده کنیم، درست مثل لیست ها.
print(words[0])
📌اگر بخواهیم یک مقدار تاپل را دوباره وارد کنیم با خطای TypeError رو به رو خواهیم شد.
words[1] = "cheese"
خروجی :
>>>
TypeError: 'tuple' object does not support item assignment
>>>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
تپل ها بسیار شبیه لیست ها هستند اما با این تفاوت که آنها تغییرناپذیر هستند. همچنین برای ساخت آنها به جای براکت ازبا پرانتز استفاده میشود.
words = ("spam", "eggs", "sausages",)
💡برای دسترسی به تاپل ها می توانیم از اندیس هایشان استفاده کنیم، درست مثل لیست ها.
print(words[0])
📌اگر بخواهیم یک مقدار تاپل را دوباره وارد کنیم با خطای TypeError رو به رو خواهیم شد.
words[1] = "cheese"
خروجی :
>>>
TypeError: 'tuple' object does not support item assignment
>>>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
به ترتیب از چپ به راست از کدام برای ساخت لیست، دیکشنری، و تاپل استفاده می شود؟
1️⃣: {} , (), []
▫ ️0%(0)
2️⃣: (), [], {}
▫ ️0%(0)
3️⃣: [], {}, ()
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(44)
👥: 44شرکت در نظر سنجی
1️⃣: {} , (), []
▫ ️0%(0)
2️⃣: (), [], {}
▫ ️0%(0)
3️⃣: [], {}, ()
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(44)
👥: 44شرکت در نظر سنجی
✍️تاپل ها - (قسمت دوم)
تاپل ها میتوانند بدون پرانتز هم ساخته شوند ولی مقادیر باید با کاما از یکدیگر جداشوند.
my_tuple = "one", "two", "three"
print(my_tuple[0])
خروجی :
>>>
one
>>>
📌یک تاپل خالی، به این صورت ساخته میشود:
tpl = ()
💡تاپل ها از لیست ها سریع تر هستند، اما نمی توانند تغییر کنند.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
تاپل ها میتوانند بدون پرانتز هم ساخته شوند ولی مقادیر باید با کاما از یکدیگر جداشوند.
my_tuple = "one", "two", "three"
print(my_tuple[0])
خروجی :
>>>
one
>>>
📌یک تاپل خالی، به این صورت ساخته میشود:
tpl = ()
💡تاپل ها از لیست ها سریع تر هستند، اما نمی توانند تغییر کنند.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
نتیجه کد زیر چیست ؟
tuple = (1, (1, 2, 3))
print(tuple[1])
1️⃣: ((1, 2, 3))
▫ ️0%(0)
2️⃣: 1
▫ ️0%(0)
3️⃣: (1 , 2, 3)
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(45)
👥: 45شرکت در نظر سنجی
tuple = (1, (1, 2, 3))
print(tuple[1])
1️⃣: ((1, 2, 3))
▫ ️0%(0)
2️⃣: 1
▫ ️0%(0)
3️⃣: (1 , 2, 3)
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(45)
👥: 45شرکت در نظر سنجی
✍️برش های لیست (list slices)
برش های لیستی یک راه پیشرفته تر برای بازیابی مقادیر از لیست هستند. برای ایجاد کردن برش لیست، از اندیس مقادیر و نماد : استفاده میکنیم، که یک لیست جدید ایجاد می کند که شامل قسمتی بین اندیس های داده شده، در همان لیست قبلی است.
squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[2:6])
print(squares[3:8])
print(squares[0:1])
خروجی :
>>>
[4, 9, 16, 25]
[9, 16, 25, 36, 49]
[0]
>>>
📌مانند ورودی های تابع range، اولین اندیس در برش لیست وجود دارد اما اندیس دوم وجود ندارد.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
برش های لیستی یک راه پیشرفته تر برای بازیابی مقادیر از لیست هستند. برای ایجاد کردن برش لیست، از اندیس مقادیر و نماد : استفاده میکنیم، که یک لیست جدید ایجاد می کند که شامل قسمتی بین اندیس های داده شده، در همان لیست قبلی است.
squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[2:6])
print(squares[3:8])
print(squares[0:1])
خروجی :
>>>
[4, 9, 16, 25]
[9, 16, 25, 36, 49]
[0]
>>>
📌مانند ورودی های تابع range، اولین اندیس در برش لیست وجود دارد اما اندیس دوم وجود ندارد.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
نتیجه کد زیر چیست ؟
sqs = [0, 1, 4, 9, 16, 25, 36, 49, 64]
print(sqs[4:7])
1️⃣: [25,36,49]
▫ ️0%(0)
2️⃣: [16,25,36,49]
▫ ️0%(0)
3️⃣: [16,25,36]
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(36)
👥: 36شرکت در نظر سنجی
sqs = [0, 1, 4, 9, 16, 25, 36, 49, 64]
print(sqs[4:7])
1️⃣: [25,36,49]
▫ ️0%(0)
2️⃣: [16,25,36,49]
▫ ️0%(0)
3️⃣: [16,25,36]
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(36)
👥: 36شرکت در نظر سنجی
✍️برش لیست ها - (قسمت دوم)
اگر عدد اول در برش لیست ذکر نشده باشد، از اول لیست در نظر گرفته میشود و اگر عدد دوم ذکر نشده باشد، انتهای لیست را در نظر میگیرد.
squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[:7])
print(squares[7:])
خروجی :
>>>
[0, 1, 4, 9, 16, 25, 36]
[49, 64, 81]
>>>
📌برش می تواند بر روی تاپل ها هم اعمال شود.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
اگر عدد اول در برش لیست ذکر نشده باشد، از اول لیست در نظر گرفته میشود و اگر عدد دوم ذکر نشده باشد، انتهای لیست را در نظر میگیرد.
squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[:7])
print(squares[7:])
خروجی :
>>>
[0, 1, 4, 9, 16, 25, 36]
[49, 64, 81]
>>>
📌برش می تواند بر روی تاپل ها هم اعمال شود.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
کد گزینه صحیح است.
میخواهیم دو عنصر اول لیست زیر را مشاهده کنیم:
list = ["a", "b", "c", "d"]
1️⃣: a = list[0:1]
▫ ️0%(0)
2️⃣: a = list(1:2)
▫ ️0%(0)
3️⃣: a = list[0:2]
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(36)
👥: 36شرکت در نظر سنجی
میخواهیم دو عنصر اول لیست زیر را مشاهده کنیم:
list = ["a", "b", "c", "d"]
1️⃣: a = list[0:1]
▫ ️0%(0)
2️⃣: a = list(1:2)
▫ ️0%(0)
3️⃣: a = list[0:2]
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(36)
👥: 36شرکت در نظر سنجی
برش لیست ها - (قسمت سوم)
برش لیست ها میتوانند یک آرگومان سومی نیز داشته باشند، که تعداد گام ها را در مشخص میکند به مثال توجه کنید .
squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[::2])
print(squares[2:8:3])
خروجی :
>>>
[0, 4, 16, 36, 64]
[4, 25]
>>>
📌[2:8:3] شامل اعداد بین اندیس 2 و 8 است، با فاصله ی 3.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
برش لیست ها میتوانند یک آرگومان سومی نیز داشته باشند، که تعداد گام ها را در مشخص میکند به مثال توجه کنید .
squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[::2])
print(squares[2:8:3])
خروجی :
>>>
[0, 4, 16, 36, 64]
[4, 25]
>>>
📌[2:8:3] شامل اعداد بین اندیس 2 و 8 است، با فاصله ی 3.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
نتیجه کد زیر چیست ؟
sqs = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(sqs[1::4])
1️⃣: خطا رخ داد
▫ ️0%(0)
2️⃣: [1 , 25]
▫ ️0%(0)
3️⃣: [1,25,81]
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||97%(34)
4️⃣: [0,1,4]
▫ ️|3%(1)
👥: 35شرکت در نظر سنجی
sqs = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(sqs[1::4])
1️⃣: خطا رخ داد
▫ ️0%(0)
2️⃣: [1 , 25]
▫ ️0%(0)
3️⃣: [1,25,81]
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||97%(34)
4️⃣: [0,1,4]
▫ ️|3%(1)
👥: 35شرکت در نظر سنجی
✍️برش لیست ها - (قسمت چهارم)
مقادیر منفی می توانند در برش لیستها وجود داشته باشند. روش کار آن به این صورت است که اگر در اندیس اول یا دوم برش لیست عدد منفی قرار بگیرد، برای رسیدن به آن اندیس از انتهای لیست میشماریم.
squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[1:-1])
خروجی :
>>>
[1, 4, 9, 16, 25, 36, 49, 64]
>>>
📌اگر مقدار منفی برای گام مورد استفاده قرار گیرد لیست را برعکس میکند.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
مقادیر منفی می توانند در برش لیستها وجود داشته باشند. روش کار آن به این صورت است که اگر در اندیس اول یا دوم برش لیست عدد منفی قرار بگیرد، برای رسیدن به آن اندیس از انتهای لیست میشماریم.
squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[1:-1])
خروجی :
>>>
[1, 4, 9, 16, 25, 36, 49, 64]
>>>
📌اگر مقدار منفی برای گام مورد استفاده قرار گیرد لیست را برعکس میکند.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
حاصل کد زیر چیست ؟
sqs = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(sqs[7:5:-1])
1️⃣: [49,36]
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(35)
2️⃣: [49]
▫ ️0%(0)
3️⃣: []
▫ ️0%(0)
👥: 35شرکت در نظر سنجی
sqs = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(sqs[7:5:-1])
1️⃣: [49,36]
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(35)
2️⃣: [49]
▫ ️0%(0)
3️⃣: []
▫ ️0%(0)
👥: 35شرکت در نظر سنجی
✍️list comprehensions
این روش یک راه معروف برای ساخت لیست هایی است که از یک قاعده ساده پیروی می کنند.
# a list comprehension
cubes = [i**3 for i in range(5)]
print(cubes)
خروجی :
>>>
[0, 1, 8, 27, 64]
>>>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
این روش یک راه معروف برای ساخت لیست هایی است که از یک قاعده ساده پیروی می کنند.
# a list comprehension
cubes = [i**3 for i in range(5)]
print(cubes)
خروجی :
>>>
[0, 1, 8, 27, 64]
>>>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
کد زیر چه چیزی را چاپ میکند ؟
nums = [i*2 for i in range(10)]
1️⃣: اعداد زوج بین 0 تا 20
▫ ️||5%(2)
2️⃣: تمامی اعداد بین 0 تا 20
▫ ️|3%(1)
3️⃣: اعداد زوج بین 0 تا 18
▫ ️||||||||||||||||||||||||||||||||||||||||||||||92%(34)
👥: 37شرکت در نظر سنجی
nums = [i*2 for i in range(10)]
1️⃣: اعداد زوج بین 0 تا 20
▫ ️||5%(2)
2️⃣: تمامی اعداد بین 0 تا 20
▫ ️|3%(1)
3️⃣: اعداد زوج بین 0 تا 18
▫ ️||||||||||||||||||||||||||||||||||||||||||||||92%(34)
👥: 37شرکت در نظر سنجی
✍️list comprehensions (2)
همچنین میتوانید list comprehension ها را با یک دستور شرطی if ترکیب کنید که یک شرط را بر روی مقادیر لیست اعمال کنید.
evens=[i**2 for i in range(10) if i**2 % 2 == 0]
print(evens)
خروجی :
>>>
[0, 4, 16, 36, 64]
>>>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
همچنین میتوانید list comprehension ها را با یک دستور شرطی if ترکیب کنید که یک شرط را بر روی مقادیر لیست اعمال کنید.
evens=[i**2 for i in range(10) if i**2 % 2 == 0]
print(evens)
خروجی :
>>>
[0, 4, 16, 36, 64]
>>>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
گزینه صحیح را انتخاب کنید : اعداد مضرب 3 تا 20 را نمایش دهید.
1️⃣: a = [ i for i in range(20) if i % 3 ==0 ]
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(34)
2️⃣: a = ( i for i in range(10) if i % 3 == 0)
▫ ️0%(0)
3️⃣: a = [i for in range(20) if i % 3 == 0]
▫ ️0%(0)
👥: 34شرکت در نظر سنجی
1️⃣: a = [ i for i in range(20) if i % 3 ==0 ]
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(34)
2️⃣: a = ( i for i in range(10) if i % 3 == 0)
▫ ️0%(0)
3️⃣: a = [i for in range(20) if i % 3 == 0]
▫ ️0%(0)
👥: 34شرکت در نظر سنجی
برای ساخت یک لیست در یک محدوده ی بسیار گسترده، باعث ایجاد MemoryError می شود. در زیر مثالی نشان داده شده است که list comprehension باعث ایجاد اجرا در خارج از محدوده ی حافظه می شود.
even = [2*i for i in range(10**100)]
خروجی :
>>>
MemoryError
>>>
📌این مشکل با generator ها حل شد.
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
even = [2*i for i in range(10**100)]
خروجی :
>>>
MemoryError
>>>
📌این مشکل با generator ها حل شد.
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
✍️اعمال format در رشته ها
تا اینجا ، رشته و غیر رشته را ترکیب کردیم ، و شما غیر رشته را به رشته تبدیل کردید و به هم اضافه کردید. format کردن رشته، یک راه قوی تر برای جاسازی غیر رشته ها درون رشته ها است.
متد Format در رشته ها، اعداد را درون رشته ها جایگزاری می کند.
# string formatting
nums = [4, 5, 6]
msg = "Numbers: {0} {1} {2}". format(nums[0], nums[1], nums[2])
print(msg)
خروجی :
>>>
Numbers: 4 5 6
>>>
📌هر ورودی تابع format، در جای درست خودش در رشته جایگزاری می شود، که با {} نمایش داده می شود.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
تا اینجا ، رشته و غیر رشته را ترکیب کردیم ، و شما غیر رشته را به رشته تبدیل کردید و به هم اضافه کردید. format کردن رشته، یک راه قوی تر برای جاسازی غیر رشته ها درون رشته ها است.
متد Format در رشته ها، اعداد را درون رشته ها جایگزاری می کند.
# string formatting
nums = [4, 5, 6]
msg = "Numbers: {0} {1} {2}". format(nums[0], nums[1], nums[2])
print(msg)
خروجی :
>>>
Numbers: 4 5 6
>>>
📌هر ورودی تابع format، در جای درست خودش در رشته جایگزاری می شود، که با {} نمایش داده می شود.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
خروجی زیر چیست ؟
print("{0}{1}{0}".format("abra", "cad"))
1️⃣: abracadabra
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(40)
2️⃣: abracad
▫ ️0%(0)
3️⃣: cadabraabra
▫ ️0%(0)
👥: 40شرکت در نظر سنجی
print("{0}{1}{0}".format("abra", "cad"))
1️⃣: abracadabra
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(40)
2️⃣: abracad
▫ ️0%(0)
3️⃣: cadabraabra
▫ ️0%(0)
👥: 40شرکت در نظر سنجی
خروجی کد زیر چیست ؟
str="{c}, {b}, {a}".format(a=5, b=9, c=7)
print(str)
1️⃣: 9 , 7, 5
▫ ️0%(0)
2️⃣: 7, 9, 5
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(36)
3️⃣: 5, 9, 7
▫ ️0%(0)
👥: 36شرکت در نظر سنجی
str="{c}, {b}, {a}".format(a=5, b=9, c=7)
print(str)
1️⃣: 9 , 7, 5
▫ ️0%(0)
2️⃣: 7, 9, 5
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(36)
3️⃣: 5, 9, 7
▫ ️0%(0)
👥: 36شرکت در نظر سنجی