Proj_6
برنامهای بنویسید که رشتهای را دریافت کرده و با استفاده از تابع، اولین تکرار در آن را نمایش دهد.
مثال: رشتهی "almass" را دریافت کرده و a را برگرداند.
مفاهیم مورد نیاز:
#iteration #function
سطح:
#stage_2
برنامهای بنویسید که رشتهای را دریافت کرده و با استفاده از تابع، اولین تکرار در آن را نمایش دهد.
مثال: رشتهی "almass" را دریافت کرده و a را برگرداند.
مفاهیم مورد نیاز:
#iteration #function
سطح:
#stage_2
𝗣𝘆𝘁𝗵𝗼𝗻 𝗖𝗵𝗮𝗹𝗹𝗲𝗻𝗴𝗲𝘀
Proj_6 برنامهای بنویسید که رشتهای را دریافت کرده و با استفاده از تابع، اولین تکرار در آن را نمایش دهد. مثال: رشتهی "almass" را دریافت کرده و a را برگرداند. مفاهیم مورد نیاز: #iteration #function سطح: #stage_2
s=input("type something for me!")
def first_reapited_char(s):
for i in range(len(s)):
for x in range(i+1,len(s)):
if s[i]==s[x]:
print(s[i],"is first reapited!")
first_reapited_char(s)Escape sequences
دنبالهای از کاراکترها که وقتی درون یک رشته استفاده میشود، خودش را نشان نمیدهد، بلکه به یک کاراکتر یا مجموعهای از کاراکترهای دیگر تبدیل میشود که بیان مستقیم آنها ممکن است دشوار یا غیرممکن باشد.
کاربردی ترین آنها به شرح زیر میباشد:
\n : خط جدید
\t : چهار تب
\r : پاک کردن کاراکترهای قبلی
(برای نشان دادن آخرین نتیجه؛ مثلا در نشان دادن درصد دانلود)
\b : backspace
(پاک کردن کاراکتر قبلی)
\f : form feed
(رفتن به خط پایین با فرم بالا)
\v : vertical tab
\" : "
\' : '
\\ : \
(برای نمایش یک بک اسلش درون رشته باید یک بک اسلش دیگر برای خنثی سازی اثر بک اسکلش قبلی به کار رود، همینطور برای نمایش دو بک اسلش باید چهاربک اسلش بگذاریم)
#آموزشی #ترفند_مقدماتی
دنبالهای از کاراکترها که وقتی درون یک رشته استفاده میشود، خودش را نشان نمیدهد، بلکه به یک کاراکتر یا مجموعهای از کاراکترهای دیگر تبدیل میشود که بیان مستقیم آنها ممکن است دشوار یا غیرممکن باشد.
کاربردی ترین آنها به شرح زیر میباشد:
\n : خط جدید
\t : چهار تب
\r : پاک کردن کاراکترهای قبلی
(برای نشان دادن آخرین نتیجه؛ مثلا در نشان دادن درصد دانلود)
\b : backspace
(پاک کردن کاراکتر قبلی)
\f : form feed
(رفتن به خط پایین با فرم بالا)
\v : vertical tab
\" : "
\' : '
\\ : \
(برای نمایش یک بک اسلش درون رشته باید یک بک اسلش دیگر برای خنثی سازی اثر بک اسکلش قبلی به کار رود، همینطور برای نمایش دو بک اسلش باید چهاربک اسلش بگذاریم)
#آموزشی #ترفند_مقدماتی
𝗣𝘆𝘁𝗵𝗼𝗻 𝗖𝗵𝗮𝗹𝗹𝗲𝗻𝗴𝗲𝘀
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
length=int(input("please enter the length of Sequence of numbers"))
l=[0,1]
def Fibonacci(length):
for i in range(length-2):
a=l[-1]+l[-2]
l.append(a)
print(l)
Fibonacci(length)Proj_9
برنامهای بنویسید که لیستی را از کاربر گرفته و با استفاده از تابع مجموع اعداد زوج آن را نمایش دهد.
مثال: [1,2,3,4] را دریافت کرده و 6 را چاپ کند.
مفاهیم مورد نیاز:
#iteration #function
سطح:
#stage_1
برنامهای بنویسید که لیستی را از کاربر گرفته و با استفاده از تابع مجموع اعداد زوج آن را نمایش دهد.
مثال: [1,2,3,4] را دریافت کرده و 6 را چاپ کند.
مفاهیم مورد نیاز:
#iteration #function
سطح:
#stage_1
𝗣𝘆𝘁𝗵𝗼𝗻 𝗖𝗵𝗮𝗹𝗹𝗲𝗻𝗴𝗲𝘀
Proj_9 برنامهای بنویسید که لیستی را از کاربر گرفته و با استفاده از تابع مجموع اعداد زوج آن را نمایش دهد. مثال: [1,2,3,4] را دریافت کرده و 6 را چاپ کند. مفاهیم مورد نیاز: #iteration #function سطح: #stage_1
numbers = input("please enter your numbers with spaces: ")
numbers = [int(num) for num in numbers.split()]
def jam_zoj(numbers):
s = 0
for i in numbers:
if i % 2 == 0:
s = s + i
return s
print(jam_zoj(numbers))Proj_10
برنامهای بنویسید که یک نوار پیشرفت را نشان دهد درحالی که هر ۱ ثانیه یک درصد به آن اضافه میشود
در ابتدا کاربر yes را وارد کرده سپس برنامه شروع به کار میکند.
این نوار پیشرفت تشکیل شده از درصد در سمت چپ و یک نوار پیشرفت {----------} (ده عدد خط تیره که به تدریج هر 10 ثانیه یکی از خط تیره ها به ستاره تغییر میکند) مثلا بعد سی ثانیه {***-------} نمایش داده میشود درحالی که خروجی قبلی از صفحه پاک میشود و اطلاعات جدید نمایش داده میشود.
مثال : ایتدا از کاربر برای شروع سوال میپرسد کاربر yes را وارد میکند سپس 0%{----------} برای کاربر نمایش داده میشود
بعد یک ثانیه 1% {----------} به جای قبلی نمایش داده میشود و همینطور بعد ده ثانیه 10%{*----------} روی صفحهی نمایش شکل میبندد.
مفاهیم مورد نیاز:
#libraries #iteration #operators
سطح:
#stage_2
#recommended
برنامهای بنویسید که یک نوار پیشرفت را نشان دهد درحالی که هر ۱ ثانیه یک درصد به آن اضافه میشود
در ابتدا کاربر 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
برنامهای بنویسید که یک رشته را از کاربر گرفته و با استفاده از تابع آن را معکوس کند.
مثال: رشتهی "world" را دریافت کرده و "dlrow" را برگرداند.
مفاهیم مورد نیاز:
#function #iteration
سطح:
#stage_1
𝗣𝘆𝘁𝗵𝗼𝗻 𝗖𝗵𝗮𝗹𝗹𝗲𝗻𝗴𝗲𝘀
Proj_11 برنامهای بنویسید که یک رشته را از کاربر گرفته و با استفاده از تابع آن را معکوس کند. مثال: رشتهی "world" را دریافت کرده و "dlrow" را برگرداند. مفاهیم مورد نیاز: #function #iteration سطح: #stage_1
string=input("please enter your string")
def reverse(string):
reversed=""
for char in string:
reversed=char+reversed
return reversed
result=reverse(string)
print("reversed string is:",result)Proj_12
برنامهای بنویسید که عددی را از ورودی بگیرد و از یک ستاره تا تا آن عدد را ، و از آن عدد تا یک ستاره را چاپ کند.
مثال: عدد ۴ را دریافت میکند و
*
**
***
****
***
**
*
چاپ کند.
مفاهیم مورد نیاز:
#iteration
سطح:
#stage_1
برنامهای بنویسید که عددی را از ورودی بگیرد و از یک ستاره تا تا آن عدد را ، و از آن عدد تا یک ستاره را چاپ کند.
مثال: عدد ۴ را دریافت میکند و
*
**
***
****
***
**
*
چاپ کند.
مفاهیم مورد نیاز:
#iteration
سطح:
#stage_1
𝗣𝘆𝘁𝗵𝗼𝗻 𝗖𝗵𝗮𝗹𝗹𝗲𝗻𝗴𝗲𝘀
Proj_12 برنامهای بنویسید که عددی را از ورودی بگیرد و از یک ستاره تا تا آن عدد را ، و از آن عدد تا یک ستاره را چاپ کند. مثال: عدد ۴ را دریافت میکند و * ** *** **** *** ** * چاپ کند. مفاهیم مورد نیاز: #iteration سطح: #stage_1
num = int(input("Enter your number: "))
for i in range(1, num + 1):
print(i * "*")
for a in range(1, num):
num -= 1
print(num * "*")Proj_13
برنامهای بنویسید که دو تاس را بیاندازد هر بار که برنامه اجرا میشود باید دو عدد بین ۱و ۶ برای هر تاس نشان دهد. برنامه باید بعد از نشان دادن نتیجه بپرسد که آیا کاربر میخواهد دوباره تاس بریزد یا نه.
و همچنین در آخر نشان دهد کاربر چند بار تاس انداخته است.
مفاهیم مورد نیاز:
#library #iteration
سطح:
#stage_1
#game
برنامهای بنویسید که دو تاس را بیاندازد هر بار که برنامه اجرا میشود باید دو عدد بین ۱و ۶ برای هر تاس نشان دهد. برنامه باید بعد از نشان دادن نتیجه بپرسد که آیا کاربر میخواهد دوباره تاس بریزد یا نه.
و همچنین در آخر نشان دهد کاربر چند بار تاس انداخته است.
مفاهیم مورد نیاز:
#library #iteration
سطح:
#stage_1
#game
𝗣𝘆𝘁𝗵𝗼𝗻 𝗖𝗵𝗮𝗹𝗹𝗲𝗻𝗴𝗲𝘀
Proj_13 برنامهای بنویسید که دو تاس را بیاندازد هر بار که برنامه اجرا میشود باید دو عدد بین ۱و ۶ برای هر تاس نشان دهد. برنامه باید بعد از نشان دادن نتیجه بپرسد که آیا کاربر میخواهد دوباره تاس بریزد یا نه. و همچنین در آخر نشان دهد کاربر چند بار تاس انداخته…
from random import randint
count=1
print("(%i,%i)"%(randint(1,6),randint(1,6)))
while True:
dice=input("do you want to roll the dice again?").lower()
if dice=="yes":
print("(%i,%i)"%(randint(1,6),randint(1,6)))
count+=1
else:
print("you have roll the dice for %i times"%count)
Generator function
تفاوت این تابع با توابع کلاسیک این است که در محاسبات خیلی طولانی و پیچیده زمان و مموری کمتری مصرف میکند.
همچنین توابع کلاسیک یک مقدار برگردانده و سپس بسته میشوند ولی توابع generator میتوانند نامحدود بار صدا زده و کار انجام دهند.
از لحاظ ساختار کد با توابعی که خودمون میساختیم تفاوت نمیکند به غیر اینکه به جای دستور return از دستور yield استفاده میکنیم.
نحوهی کار توابع generator اینطور است که از کد از خط بالا اجرا میشود و وقتی که به دستور yield رسید مقدار برگردانده میشود ولی بعد تابع کاملا بسته نمیشود(بر خلاف توابع کلاسیک)
؛ بعدا که تابع را صدا بزنیم yield بعدی را برمیگرداند.
نکته: توابع generator را حتما درون یک حلقه استفاده میکنیم.
#آموزش #ترفند_پیشرفته
تفاوت این تابع با توابع کلاسیک این است که در محاسبات خیلی طولانی و پیچیده زمان و مموری کمتری مصرف میکند.
همچنین توابع کلاسیک یک مقدار برگردانده و سپس بسته میشوند ولی توابع 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
برنامهای بنویسید که با استفاده از تابع یک عدد صحیح مثبت (n) دریافت کند و مقادیر اول عاملهای آن عدد را به صورت یک Generator با استفاده از yield برگرداند.
مثال: از ورودی 1000 را دریافت کرده و در خروجی
[2, 2, 2, 5, 5, 5]
را چاپ کند.(زیرا 1000=2×2×2×5×5×5)
مفاهیم مورد نیاز:
#generator_function #iteration
سطح:
#stage_2
💔2
𝗣𝘆𝘁𝗵𝗼𝗻 𝗖𝗵𝗮𝗹𝗹𝗲𝗻𝗴𝗲𝘀
Proj_14 برنامهای بنویسید که با استفاده از تابع یک عدد صحیح مثبت (n) دریافت کند و مقادیر اول عاملهای آن عدد را به صورت یک Generator با استفاده از yield برگرداند. مثال: از ورودی 1000 را دریافت کرده و در خروجی [2, 2, 2, 5, 5, 5] را چاپ کند.(زیرا 1000=2×2×2×5×5×5)…
num=int(input("please enter a number: "))
def find_prime(num):
for i in range(2,num//2):
if num%i==0:
yield i
num=num/i
prime_list=[]
for prime_num in find_prime(num):
prime_list.append(prime_num)
print(prime_list)Proj_15
برنامهای بنویسید که ۲ عدد از کاربر گرفته و با استفاده از تابع عدد اول را به توان عدد دیگر برساند.
مثال: از کاربر به ترتیب عدد ۳ و ۴ را بگیرد و ۸۱ را چاپ کند.
مفاهیم مورد نیاز:
#iteration #function
سطح:
#stage_1
برنامهای بنویسید که ۲ عدد از کاربر گرفته و با استفاده از تابع عدد اول را به توان عدد دیگر برساند.
مثال: از کاربر به ترتیب عدد ۳ و ۴ را بگیرد و ۸۱ را چاپ کند.
مفاهیم مورد نیاز:
#iteration #function
سطح:
#stage_1