✍️آنالیز متن
این یک پروژه نمونه است، در این برنامه یک فایل را تجزیه و تحلیل می کنیم تا بررسی کنیم هر کاراکتر چنددرصد از متن را گرفته است.
filename = input("Enter a filename: ")
with open(filename) as f:
text = f.read()
print(text)
خروجی :
>>>
Enter a filename: test.txt
Ornhgvshy vf orggre guna htyl.
Rkcyvpvg vf orggre guna vzcyvpvg.
Fvzcyr vf orggre guna pbzcyvpngrq.
Syng vf orggre guna arfgrq.
Fcenfr fv orggre guna qrafr.
Ernqnovyvgl pbhagf.
Fcrpvny pnfrf nera'g fcrpvny rabthu gb oernx gur ehyrf.
Nygubhtu cenpgvpnyvgl orgnf chevgl.
Reebef fubhyq arire cnff fvyragyl.
Hayrff rkcyvpvgyl fvyraprq.
Va gur snpr bs nzovthvgl, ershfr gur grzcgngvba bg thrff.
Gurer fubhyq or bar-- naq cersrenoylbayl bar --boivbhf jnl gb qb vg.
Nygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh'er Qhgpu.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
این یک پروژه نمونه است، در این برنامه یک فایل را تجزیه و تحلیل می کنیم تا بررسی کنیم هر کاراکتر چنددرصد از متن را گرفته است.
filename = input("Enter a filename: ")
with open(filename) as f:
text = f.read()
print(text)
خروجی :
>>>
Enter a filename: test.txt
Ornhgvshy vf orggre guna htyl.
Rkcyvpvg vf orggre guna vzcyvpvg.
Fvzcyr vf orggre guna pbzcyvpngrq.
Syng vf orggre guna arfgrq.
Fcenfr fv orggre guna qrafr.
Ernqnovyvgl pbhagf.
Fcrpvny pnfrf nera'g fcrpvny rabthu gb oernx gur ehyrf.
Nygubhtu cenpgvpnyvgl orgnf chevgl.
Reebef fubhyq arire cnff fvyragyl.
Hayrff rkcyvpvgyl fvyraprq.
Va gur snpr bs nzovthvgl, ershfr gur grzcgngvba bg thrff.
Gurer fubhyq or bar-- naq cersrenoylbayl bar --boivbhf jnl gb qb vg.
Nygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh'er Qhgpu.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
با دستور with فایل زیر را بخوانید.
1️⃣: with open(filename) as f:
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(41)
2️⃣: as open(filename) with f:
▫ ️0%(0)
3️⃣: r open(filename)as f:
▫ ️0%(0)
👥: 41شرکت در نظر سنجی
1️⃣: with open(filename) as f:
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(41)
2️⃣: as open(filename) with f:
▫ ️0%(0)
3️⃣: r open(filename)as f:
▫ ️0%(0)
👥: 41شرکت در نظر سنجی
✍️آنالیز متن - (قسمت دوم)
در این قسمت از برنامه تابعی را مشاهده میکنید که شمارش میکند که از یک نوع کاراکتر، چندتا در متن وجود دارد.
def count_char(text, char):
count = 0
for c in text:
if c == char:
count += 1
return count
این تابع یک کارکتر از یک فایل را میگیرد و تعداد دفعاتی کاراکتر در متن ظاهر شده است را نمایش میدهد.
filename = input("Enter a filename: ")
with open(filename) as f:
text = f.read()
print(count_char(text, "r"))
خروجی :
>>>
Enter a filename: test.txt
83
>>>
⚠️کاراکتر r در فایل text 83 بار تکرار شده است.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
در این قسمت از برنامه تابعی را مشاهده میکنید که شمارش میکند که از یک نوع کاراکتر، چندتا در متن وجود دارد.
def count_char(text, char):
count = 0
for c in text:
if c == char:
count += 1
return count
این تابع یک کارکتر از یک فایل را میگیرد و تعداد دفعاتی کاراکتر در متن ظاهر شده است را نمایش میدهد.
filename = input("Enter a filename: ")
with open(filename) as f:
text = f.read()
print(count_char(text, "r"))
خروجی :
>>>
Enter a filename: test.txt
83
>>>
⚠️کاراکتر r در فایل text 83 بار تکرار شده است.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
چرا صکد شمارش کاراکتر در تابع قرار گرفت؟
1️⃣: تا بتوان آن را چندین بار اجرا کرد
▫ ️|||||||||||||||||||||||||||||||||||||||||||||||95%(35)
2️⃣: تا بتواند فایل ها را بخواند
▫ ️0%(0)
3️⃣: تا سریعتر اجرا شود
▫ ️||5%(2)
👥: 37شرکت در نظر سنجی
1️⃣: تا بتوان آن را چندین بار اجرا کرد
▫ ️|||||||||||||||||||||||||||||||||||||||||||||||95%(35)
2️⃣: تا بتواند فایل ها را بخواند
▫ ️0%(0)
3️⃣: تا سریعتر اجرا شود
▫ ️||5%(2)
👥: 37شرکت در نظر سنجی
✍️آنالیز متن - (قسمت سوم)
در این قسمت میخواهیم کاراکتر هایی را پیدا کنیم که در الفبا هستند و بگوییم چند درصد تکرار شده اند.
for char in "abcdefghijklmnopqrstuvwxyz":
perc = 100 * count_char(text, char) / len(text)
print("{0} - {1}%".format(char, round(perc, 2)))
در برنامه قبلی که توضیح داده ایم قرار میدهیم :
def count_char(text, char):
count = 0
for c in text:
if c == char:
count += 1
return count
filename = input("Enter a filename: ")
with open(filename) as f:
text = f.read()
for char in "abcdefghijklmnopqrstuvwxyz":
perc = 100 * count_char(text, char) / len(text)
print("{0} - {1}%".format(char, round(perc, 2)))
خروجی :
Enter a filename: test.txt
a - 4.68%
b - 4.94%
c - 2.28%
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
در این قسمت میخواهیم کاراکتر هایی را پیدا کنیم که در الفبا هستند و بگوییم چند درصد تکرار شده اند.
for char in "abcdefghijklmnopqrstuvwxyz":
perc = 100 * count_char(text, char) / len(text)
print("{0} - {1}%".format(char, round(perc, 2)))
در برنامه قبلی که توضیح داده ایم قرار میدهیم :
def count_char(text, char):
count = 0
for c in text:
if c == char:
count += 1
return count
filename = input("Enter a filename: ")
with open(filename) as f:
text = f.read()
for char in "abcdefghijklmnopqrstuvwxyz":
perc = 100 * count_char(text, char) / len(text)
print("{0} - {1}%".format(char, round(perc, 2)))
خروجی :
Enter a filename: test.txt
a - 4.68%
b - 4.94%
c - 2.28%
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
هدف از تابع round کد برنامه قبلی چیست ؟
1️⃣: برای صرفه جویی در رم
▫ ️0%(0)
2️⃣: برای دقت بیشتر
▫ ️0%(0)
3️⃣: برای کاهش تعداد رقم های چاپ شده
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(40)
👥: 40شرکت در نظر سنجی
1️⃣: برای صرفه جویی در رم
▫ ️0%(0)
2️⃣: برای دقت بیشتر
▫ ️0%(0)
3️⃣: برای کاهش تعداد رقم های چاپ شده
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(40)
👥: 40شرکت در نظر سنجی
⛔️ بخش more types به پایان رسید، می توانید برای ارزیابی خود، به سوالات زیر پاسخ دهید.
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
آیا شما می توانید یک قسمت از تاپل را بردارید؟
1️⃣: بله
▫ ️|||||||15%(6)
2️⃣: خیر
▫ ️||||||||||||||||||||||||||||||||||||||||||85%(34)
👥: 40شرکت در نظر سنجی
1️⃣: بله
▫ ️|||||||15%(6)
2️⃣: خیر
▫ ️||||||||||||||||||||||||||||||||||||||||||85%(34)
👥: 40شرکت در نظر سنجی
کدام یک از کدهای زیر لیست numbers را برعکس می کند؟
1️⃣: numbers[ : :-1]
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(37)
2️⃣: numbers[ : : ]
▫ ️0%(0)
3️⃣: numbers[-1 : : ]
▫ ️0%(0)
👥: 37شرکت در نظر سنجی
1️⃣: numbers[ : :-1]
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(37)
2️⃣: numbers[ : : ]
▫ ️0%(0)
3️⃣: numbers[-1 : : ]
▫ ️0%(0)
👥: 37شرکت در نظر سنجی
کدام یک از گزینه های زیر یک لیست غیر قابل تغییر هستند؟
1️⃣: دیکشنری
▫ ️|3%(1)
2️⃣: تاپل
▫ ️|||||||||||||||||||||||||||||||||||||||||||||||||98%(39)
3️⃣: عدد
▫ ️0%(0)
👥: 40شرکت در نظر سنجی
1️⃣: دیکشنری
▫ ️|3%(1)
2️⃣: تاپل
▫ ️|||||||||||||||||||||||||||||||||||||||||||||||||98%(39)
3️⃣: عدد
▫ ️0%(0)
👥: 40شرکت در نظر سنجی
کدام یک از گزینه های زیر توسط یک تابعی که return ندارد، بازگردانده می شود؟
1️⃣: False
▫ ️0%(0)
2️⃣: None
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(40)
3️⃣: 0
▫ ️0%(0)
👥: 40شرکت در نظر سنجی
1️⃣: False
▫ ️0%(0)
2️⃣: None
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(40)
3️⃣: 0
▫ ️0%(0)
👥: 40شرکت در نظر سنجی
خروجی کد زیر چیست؟
nums = (55, 44, 33, 22)
print(max(min(nums[ : 2 ]), abs(-42)))
1️⃣: 2
▫ ️0%(0)
2️⃣: 42
▫ ️|2%(1)
3️⃣: 44
▫ ️|||||||||||||||||||||||||||||||||||||||||||||||||98%(41)
4️⃣: -42
▫ ️0%(0)
👥: 42شرکت در نظر سنجی
nums = (55, 44, 33, 22)
print(max(min(nums[ : 2 ]), abs(-42)))
1️⃣: 2
▫ ️0%(0)
2️⃣: 42
▫ ️|2%(1)
3️⃣: 44
▫ ️|||||||||||||||||||||||||||||||||||||||||||||||||98%(41)
4️⃣: -42
▫ ️0%(0)
👥: 42شرکت در نظر سنجی
⁉️ تست 128 : خروجی کد زیر چیست؟
def test(func, arg):
return func(func(arg))
def mult(x):
return x * x
print(test(mult, 2))
1️⃣: 2
▫ ️0%(0)
2️⃣: 4
▫ ️|3%(1)
3️⃣: 8
▫ ️0%(0)
4️⃣: 16
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||97%(36)
👥: 37شرکت در نظر سنجی
def test(func, arg):
return func(func(arg))
def mult(x):
return x * x
print(test(mult, 2))
1️⃣: 2
▫ ️0%(0)
2️⃣: 4
▫ ️|3%(1)
3️⃣: 8
▫ ️0%(0)
4️⃣: 16
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||97%(36)
👥: 37شرکت در نظر سنجی
✍️برنامه نویسی کاربردی (Functional programming)
همانطور که از نام آن پیداست، برنامه نویسی کاربردی یک استایل برنامه نویسی است که حول توابع کار می کند. کلید اصلی این نوع برنامه نویسی توابع سطح بالا (higher order funtions) هستند که قبلتر آن ها را به عنوان "استفاده از توابع به عنوان اشیا" دیدیم. توابع سطح بالا، توابع دیگر را به عنوان ورودی دریافت می کنند و یا توابع دیگر را به عنوان خروجی بر می گردانند.
def apply_twice (func, arg) :
return func(func(arg))
def add_five(x):
return x+5
print(apply_twice(add_five, 10))
خروجی :
>>>
20
>>>
📌تابع apply_twice، تابع دیگر را به عنوان ورودی دریافت می کند و آن را 2 بار در درون خود فراخوانی میکند.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
همانطور که از نام آن پیداست، برنامه نویسی کاربردی یک استایل برنامه نویسی است که حول توابع کار می کند. کلید اصلی این نوع برنامه نویسی توابع سطح بالا (higher order funtions) هستند که قبلتر آن ها را به عنوان "استفاده از توابع به عنوان اشیا" دیدیم. توابع سطح بالا، توابع دیگر را به عنوان ورودی دریافت می کنند و یا توابع دیگر را به عنوان خروجی بر می گردانند.
def apply_twice (func, arg) :
return func(func(arg))
def add_five(x):
return x+5
print(apply_twice(add_five, 10))
خروجی :
>>>
20
>>>
📌تابع apply_twice، تابع دیگر را به عنوان ورودی دریافت می کند و آن را 2 بار در درون خود فراخوانی میکند.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
✍️توابع خالص (pure functions)
برنامه نویسی کاربردی به دنبال این است که از توابع خالص استفاده کند. توابع خالص هیچ گونه تاثیری خارج از خود تابع ندارند و فقط خروجی ای تولید می کنند که فقط و فقط به ورودی هایش متکی است.
همان طوری که توابع math کار میکنند، برای مثال: cos(x)، که با گرفتن یک ورودی x فقط و فقط مقدار cos را محاسبه می کند و آن را به عنوان خروجی می دهد.
مثالی از توابع خالص:
Def pure_function(x, y) :
Temp = x + 2*y
Return temp / (2*x + y)
توابع نا خالص :
Some_list = [ ]
Def impure(arg) :
Some_list.append(arg)
✍️تابع بالا ناخالص است چون مقدار some_list در خارج از تابع را تغییر می دهد.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
برنامه نویسی کاربردی به دنبال این است که از توابع خالص استفاده کند. توابع خالص هیچ گونه تاثیری خارج از خود تابع ندارند و فقط خروجی ای تولید می کنند که فقط و فقط به ورودی هایش متکی است.
همان طوری که توابع math کار میکنند، برای مثال: cos(x)، که با گرفتن یک ورودی x فقط و فقط مقدار cos را محاسبه می کند و آن را به عنوان خروجی می دهد.
مثالی از توابع خالص:
Def pure_function(x, y) :
Temp = x + 2*y
Return temp / (2*x + y)
توابع نا خالص :
Some_list = [ ]
Def impure(arg) :
Some_list.append(arg)
✍️تابع بالا ناخالص است چون مقدار some_list در خارج از تابع را تغییر می دهد.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
⁉️ تست 129 : این یک تابع خالص است؟
def func(x):
y = x**2
z = x+y
return z
1️⃣: بله
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(38)
2️⃣: خیر
▫ ️0%(0)
3️⃣: بستگی دارد
▫ ️0%(0)
👥: 38شرکت در نظر سنجی
def func(x):
y = x**2
z = x+y
return z
1️⃣: بله
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(38)
2️⃣: خیر
▫ ️0%(0)
3️⃣: بستگی دارد
▫ ️0%(0)
👥: 38شرکت در نظر سنجی
✍️توابع خالص – ( قسمت دوم)
استفاده از توابع خالص مزایا و معایبی دارد:
می توان از این توابع به راحتی نتیجه گیری کرد و از آن تست گرفت.
این توابع کارآمدتر هستند.
زمانی که ورودی تابع ارزیابی شد و محاسبات تابع انجام شد، خروجی می تواند نگهداری شود و بعدا به آن ارجاع شود (زمانی که به آن احتیاج باشد). از این طریق تعداد فراخوانی توابع هم کمتر می شود. به این کار memorization می گویند.
به صورت همزمان، آسان تر اجرا می شود.
مهمترین عیبی که وجود دارد این است که اگر فقط از توابع خالص استفاده شود، در ورودی و خروجی مشکلات پیچیده ای به وجود می آید که به صورت وراثتی باعث ایجاد تاثیرات جانبی میشود.
در بعضی مواقع هم نوشتن آن ها بسیار سخت است.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
استفاده از توابع خالص مزایا و معایبی دارد:
می توان از این توابع به راحتی نتیجه گیری کرد و از آن تست گرفت.
این توابع کارآمدتر هستند.
زمانی که ورودی تابع ارزیابی شد و محاسبات تابع انجام شد، خروجی می تواند نگهداری شود و بعدا به آن ارجاع شود (زمانی که به آن احتیاج باشد). از این طریق تعداد فراخوانی توابع هم کمتر می شود. به این کار memorization می گویند.
به صورت همزمان، آسان تر اجرا می شود.
مهمترین عیبی که وجود دارد این است که اگر فقط از توابع خالص استفاده شود، در ورودی و خروجی مشکلات پیچیده ای به وجود می آید که به صورت وراثتی باعث ایجاد تاثیرات جانبی میشود.
در بعضی مواقع هم نوشتن آن ها بسیار سخت است.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
⁉️ تست 130 : کدام یک از موارد زیر از فواید توابع خالص نیست؟
1️⃣: به صورت آسان تر به صورت موازی اجرا می شوند.
▫ ️|||||||||||||||||||||||46%(17)
2️⃣: نوشتنشان آسان تر است
▫ ️|||||||||||||||||||||||||51%(19)
3️⃣: آنالیزشان آسانتر است
▫ ️|3%(1)
👥: 37شرکت در نظر سنجی
1️⃣: به صورت آسان تر به صورت موازی اجرا می شوند.
▫ ️|||||||||||||||||||||||46%(17)
2️⃣: نوشتنشان آسان تر است
▫ ️|||||||||||||||||||||||||51%(19)
3️⃣: آنالیزشان آسانتر است
▫ ️|3%(1)
👥: 37شرکت در نظر سنجی
⁉️ تست 131 : به توابع anonymous چه می گویند؟
1️⃣: lambdas
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(36)
2️⃣: lamdas
▫ ️0%(0)
3️⃣: lombdas
▫ ️0%(0)
👥: 36شرکت در نظر سنجی
1️⃣: lambdas
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(36)
2️⃣: lamdas
▫ ️0%(0)
3️⃣: lombdas
▫ ️0%(0)
👥: 36شرکت در نظر سنجی
✍️Lambdas
زمانی که یک تابع تعریف می شود (با استفاده از def)، به صورت اتوماتیک این تابع به یک متغیر اختصاص داده می شود.
روش lambda با ساخت اشیا دیگری مثل لیست ها و یا integer ها متفاوت است و می تواند بدون اختصاص داده شدن به یک متغیر، بر روی هوا، ساخته شود. این روش قابل اعمال در توابع است که با استفاده از عبارت lambda ساخته میشوند.
این روش زمانی استفاده میشود که از یک تابع ساده، به عنوان متغیر ورودی در تابع دیگر استفاده میشود.
def my_func(f, arg):
return f(arg)
my_func(lambda x: 2*x*x, 5)
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
زمانی که یک تابع تعریف می شود (با استفاده از def)، به صورت اتوماتیک این تابع به یک متغیر اختصاص داده می شود.
روش lambda با ساخت اشیا دیگری مثل لیست ها و یا integer ها متفاوت است و می تواند بدون اختصاص داده شدن به یک متغیر، بر روی هوا، ساخته شود. این روش قابل اعمال در توابع است که با استفاده از عبارت lambda ساخته میشوند.
این روش زمانی استفاده میشود که از یک تابع ساده، به عنوان متغیر ورودی در تابع دیگر استفاده میشود.
def my_func(f, arg):
return f(arg)
my_func(lambda x: 2*x*x, 5)
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
✍️Lambdas (2)
توابعی که توسط lambda ساخته میشوند به قدرتمندی توابع دیگر نیستند. فقط محاسبات ساده و یک خطی را ساپورت می کند.
مثالی از توابع دیگر :
Def polynomial(x):
Return x**2 + 5*x + 4
Print(polynomial(-4))
همان تابع نوشته شده توسط lambda :
Print((lambda x : x**2 + 5*x + 4)(-4))
خروجی :
>>>
0
0
>>>
در کد بالا ما یک تابع بر روی هوا ساختیم و یک ورودی به آن فرستادیم.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
توابعی که توسط lambda ساخته میشوند به قدرتمندی توابع دیگر نیستند. فقط محاسبات ساده و یک خطی را ساپورت می کند.
مثالی از توابع دیگر :
Def polynomial(x):
Return x**2 + 5*x + 4
Print(polynomial(-4))
همان تابع نوشته شده توسط lambda :
Print((lambda x : x**2 + 5*x + 4)(-4))
خروجی :
>>>
0
0
>>>
در کد بالا ما یک تابع بر روی هوا ساختیم و یک ورودی به آن فرستادیم.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge