𝗣𝘆𝘁𝗵𝗼𝗻 𝗖𝗵𝗮𝗹𝗹𝗲𝗻𝗴𝗲𝘀
24 subscribers
2 photos
Download Telegram
Escape sequences


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

کاربردی ترین آنها به شرح زیر میباشد:

\n : خط جدید
\t : چهار تب
\r : پاک کردن کاراکترهای قبلی
(برای نشان دادن آخرین نتیجه؛ مثلا در نشان دادن درصد دانلود)
\b : backspace
(پاک کردن کاراکتر قبلی)
\f : form feed
(رفتن به خط پایین با فرم بالا)
\v : vertical tab
\" : "
\' : '
\\ : \
(برای نمایش یک بک اسلش درون رشته باید یک بک اسلش دیگر برای خنثی سازی اثر بک اسکلش قبلی به کار رود، همینطور برای نمایش دو بک ‌اسلش باید چهاربک اسلش بگذاریم)


#آموزشی #ترفند_مقدماتی
Proj_7

برنامه‌ای بنویسید که یک عدد ۳ رقمی را از کاربر دریافت کرده ؛ آن را عکس و ضربدر دو کند.

مثال: عدد ۱۳۵ را دریافت میکند و ابتدا آن را عکس کرده (۵۳۱) و سپس ضربدر دو میکند و جواب ۱۰۶۲ را چاپ میکند.


مفاهیم مورد نیاز :
#oprators

سطح:
#stage_1
𝗣𝘆𝘁𝗵𝗼𝗻 𝗖𝗵𝗮𝗹𝗹𝗲𝗻𝗴𝗲𝘀
Proj_7 برنامه‌ای بنویسید که یک عدد ۳ رقمی را از کاربر دریافت کرده ؛ آن را عکس و ضربدر دو کند. مثال: عدد ۱۳۵ را دریافت میکند و ابتدا آن را عکس کرده (۵۳۱) و سپس ضربدر دو میکند و جواب ۱۰۶۲ را چاپ میکند. مفاهیم مورد نیاز : #oprators سطح: #stage_1
num = int(input("please enter your number "))
y = (num%100)*100
# عملگر ٪ باقی مانده‌ی تقسیم را نشان میدهد؛ که در اینجا باقی مانده یکان میشود؛ حال برای عکس کردن عددباید یکان جای صدگان بشیند پس آن را ضربدر ۱۰۰ میکنیم.
d = ((num%100)//10)*10
# عملگر // عدد صحیح یک تقسیم را نشان میدهد؛ برای تبدیل به دهگان جواب را ضربدر ده میکنیم.
s = (num//100)
# صدگان عدد گرفته شده که باید به جای یکان قرارش بدیم.
result = y+x+s
print(result)
Proj_8

برنامه‌ای بنویسید که با استفاده از تابع، عددی را دریافت کند و دنباله‌ی فیبوناچی به طول آن چاپ کند.

مثال: ۶ را دریافت کرده و ۱، ۱، ۲، ۳، ۵، ۸ را نمایش دهد.


مفاهیم مورد نیاز:
#function

سطح:
#stage_2
Proj_9

برنامه‌ای بنویسید که لیستی را از کاربر گرفته و با استفاده از تابع مجموع اعداد زوج آن را نمایش دهد.

مثال: [1,2,3,4] را دریافت کرده و 6 را چاپ کند.


مفاهیم مورد نیاز:
#iteration #function

سطح:
#stage_1
Proj_10

برنامه‌ای بنویسید که یک نوار پیشرفت را نشان دهد درحالی که هر ۱ ثانیه یک درصد به آن اضافه میشود
در ابتدا کاربر yes را وارد کرده سپس برنامه شروع به کار میکند.
این نوار پیشرفت تشکیل شده از درصد در سمت چپ و یک نوار پیشرفت {----------} (ده عدد خط تیره که به تدریج هر 10 ثانیه یکی از خط تیره ها به ستاره تغییر میکند) مثلا بعد سی ثانیه {***-------} نمایش داده میشود درحالی که خروجی قبلی از صفحه پاک میشود و اطلاعات جدید نمایش داده میشود.

مثال : ایتدا از کاربر برای شروع سوال میپرسد کاربر yes را وارد میکند سپس 0%{----------} برای کاربر نمایش داده میشود
بعد یک ثانیه 1% {----------} به جای قبلی نمایش داده میشود و همینطور بعد ده ثانیه 10%{*----------} روی صفحه‌ی نمایش شکل میبندد.


مفاهیم مورد نیاز:
#libraries #iteration #operators

سطح:
#stage_2

#recommended
🔥2👨‍💻2
𝗣𝘆𝘁𝗵𝗼𝗻 𝗖𝗵𝗮𝗹𝗹𝗲𝗻𝗴𝗲𝘀
Proj_10 برنامه‌ای بنویسید که یک نوار پیشرفت را نشان دهد درحالی که هر ۱ ثانیه یک درصد به آن اضافه میشود در ابتدا کاربر yes را وارد کرده سپس برنامه شروع به کار میکند. این نوار پیشرفت تشکیل شده از درصد در سمت چپ و یک نوار پیشرفت {----------} (ده عدد خط تیره…
from time import sleep

start=input("do you want to start the progress?").strip().lower()

# با استفاده از متد strip اسپیس های احتمالی که ممکن است کاربر اشتباها وارد کند را پاک میکنیم.

# با استفاده از متد lower اگر کاربر جواب را با حروف بزرگ نوشته بود اصلاح میکنیم.

while True :
    if start=="yes":
        for i in range(0,101):
            t= int(i//10)
            star= "*" * t
            dash= "-" * (10-t)
            bar= star+dash

# نوار پیشرفت را به شکل یک رشته درست کردیم.

            print("\r%s\r%d%s"%(' '*15,i,"{"+bar+"}"),end="",flush=True)

# \r اول ما را به اول خط میبرد بعد با قرار گرفتن ۱۵ اسپیس (تعداد کاراکتر های نوار پیشرفت و درصد پیشرفت) کل اطلاعات چاپ شده‌ی قبلی پاک میشود

# \r دوم دوباره ما را به اول خط برمیگرداند در این صورت اطلاعات جدید پاک شده روی از اول خط چاپ میشود.

# دستور end="" باز اطمینان حاصل میکند که وارد خط بعدی نمیشویم و به اول خط برمیگردیم.

# دستور flush=True به پایتون می‌گوید "خروجی را فوراً و بدون معطلی روی صفحه نمایش بده" این بسیار مهم است تا تغییر اعداد را در لحظه ببینیم و نه با تأخیر.

            sleep(1)
        break
elif start=="no"
break
    else:
        start=input("do you want to start the progress?")

print('''successfully completed!
for exit press a key''')
Proj_11

برنامه‌ای بنویسید که یک رشته را از کاربر گرفته و با استفاده از تابع آن را معکوس کند.

مثال: رشته‌ی "world" را دریافت کرده و "dlrow" را برگرداند.


مفاهیم مورد نیاز:
#function #iteration

سطح:
#stage_1
Proj_12

برنامه‌ای بنویسید که عددی را از ورودی بگیرد و از یک ستاره تا تا آن عدد را ، و از آن عدد تا یک ستاره را چاپ کند.

مثال: عدد ۴ را دریافت می‌کند و
*
**
***
****
***
**
*
چاپ کند.



مفاهیم مورد نیاز:
#iteration

سطح:
#stage_1
Proj_13

برنامه‌ای بنویسید که دو تاس را بیاندازد هر بار که برنامه اجرا می‌شود باید دو عدد بین ۱و ۶ برای هر تاس نشان دهد. برنامه باید بعد از نشان دادن نتیجه بپرسد که آیا کاربر می‌خواهد دوباره تاس بریزد یا نه.
و همچنین در آخر نشان دهد کاربر چند بار تاس انداخته است.

مفاهیم مورد نیاز:
#library #iteration

سطح:
#stage_1

#game
Generator function


تفاوت این تابع با توابع کلاسیک این است که در محاسبات خیلی طولانی و پیچیده زمان و مموری کمتری مصرف میکند.
همچنین توابع کلاسیک یک مقدار برگردانده و سپس بسته میشوند ولی توابع generator میتوانند نامحدود بار صدا زده و کار انجام دهند.

از لحاظ ساختار کد با توابعی که خودمون میساختیم تفاوت نمیکند به غیر اینکه به جای دستور return از دستور yield استفاده میکنیم.

نحوه‌ی کار توابع generator اینطور است که از کد از خط بالا اجرا میشود و وقتی که به دستور yield رسید مقدار برگردانده میشود ولی بعد تابع کاملا بسته نمیشود(بر خلاف توابع کلاسیک)
؛ بعدا که تابع را صدا بزنیم yield بعدی را برمیگرداند.


نکته: توابع generator را حتما درون یک حلقه استفاده میکنیم.

#آموزش #ترفند_پیشرفته
𝗣𝘆𝘁𝗵𝗼𝗻 𝗖𝗵𝗮𝗹𝗹𝗲𝗻𝗴𝗲𝘀
Generator function تفاوت این تابع با توابع کلاسیک این است که در محاسبات خیلی طولانی و پیچیده زمان و مموری کمتری مصرف میکند. همچنین توابع کلاسیک یک مقدار برگردانده و سپس بسته میشوند ولی توابع generator میتوانند نامحدود بار صدا زده و کار انجام دهند. از لحاظ…
Proj_14

برنامه‌ای بنویسید که با استفاده از تابع یک عدد صحیح مثبت (n) دریافت کند و مقادیر اول عامل‌های آن عدد را به صورت یک Generator با استفاده از yield برگرداند.

مثال: از ورودی 1000 را دریافت کرده و در خروجی
[2, 2, 2, 5, 5, 5]

را چاپ کند.(زیرا 1000=2×2×2×5×5×5)



مفاهیم مورد نیاز:
#generator_function #iteration

سطح:
#stage_2
💔2
Proj_15

برنامه‌ای بنویسید که ۲ عدد از کاربر گرفته و با استفاده از تابع عدد اول را به توان عدد دیگر برساند.

مثال: از کاربر به ترتیب عدد ۳ و ۴ را بگیرد و ۸۱ را چاپ کند.


مفاهیم مورد نیاز:
#iteration #function

سطح:
#stage_1