حل ۱۰۰ الگوریتم(البته نه همه شون)

به نام خدا

سلام

همونطور که توی پست اولم گفتم

من الان یه برنامه نویس تازه کار پایتونم و در به در دنبال برنامه های خیلی کوچیکم تا تمرین کنم.

و بالاخره از توی یه پست ویرگول از اشکان لایی (ببخشید همزه ندارم😅) ۱۰۰ تا الگوریتم پیدا کردم و سعی کردم کدشون رو روی پایتون پیاده کنم.

البته فکر نکنید رفتم از رو الگوریتمش نگاه کردم تبدیلشون کردم به کد.

سعی کردم خودم هم راه حل رو پیدا کنم هم تبدیل به کد کنم

۱- الگوریتمی بنویسید که یک عدد بگیرد و تا آن به این صورت حاصل ضرب ها را چاپ کند(البته این رو از خودم در آوردم!):

۱*۲

۱*۲*۳

۱*۲*۳*۴….

def number_loop_zarb(number): #  وطرز کار متد:عددی به آن می دهیم و او تا آن عدد این طوری می کند: 1*2*3*4*5*6*7... تا آن عدد مورد نظر و هر بار نتیجه را چاپ می کند
x = 1
number_list = []
for i in range(1,number):
x *=  i
number_list += [x]
return number_list

اجرا و نتیجه:

def run_number_loop_zarb(): #اجرای برنامه ی بالا
number = int(input(&quotPlease Enter a number:n&quot))
number_list = number_loop_zarb(number)
for for_list3 in number_list:
print(for_list3)
run_number_loop_zarb()
Please Enter a number:
25
1  
2  
6  
24 
120
720
5040
40320
362880
3628800
39916800
479001600
6227020800
87178291200
1307674368000
20922789888000
355687428096000
6402373705728000
121645100408832000
2432902008176640000
51090942171709440000
1124000727777607680000
25852016738884976640000
620448401733239439360000

2-الگوریتمی بنویسید که یک عدد به واحد میلی متر دریافت کرده ، معین کند چندمتر و چند سانتی متر و چند میلی متر است.

def milimeterTo_santimeter(milimeter): # یک عدد می گیره و میگه که .. متر  و .. سانتیمتر و .. میلیمتر هستش
meter = milimeter // 1000 # این دستور میاد نگاه می کنه که چند متره و توی یک متغیر ذخیره میکنه جواب رو (// = تقسیم با جواب عدد صحیح)
x = milimeter % 1000 # این دستور میاد نگاه می کنه باقیمانده ی تقسیم بالا چیه و تو یه متغیر ذخیره می کنه که به سانتیمتر تقسیمش کنه
santimeter = x // 10 # تو این دستور میاد باقیمانده تقسیم بر ۱۰۰۰ رو بر ۱۰ تقسیم می کنه تا ببینه چتد سانتیمتره
milim = x % 10 # اینم میاد باقیمانده تقسیم بالا رو ذخیره می کنه تا ببینه چند میلیمتره
return &quot{} milimeter is {} meter and {} santimeter and {} milimeter&quot.format(milimeter,meter,santimeter,milim)
input_milimeter = int(input(&quotPlease Enter a Number:n&quot))
print(milimeterTo_santimeter(input_milimeter))

وای خسته شدم. همه ی کد رو میگذارم به بزرگی خودتون ببخشید

البته کدا توضیح دارن و زیاد خوندشون سخت نیست. و البته به ترتیب الگوریتم ها میتونید بفهمید. البته آخری از خودمه.

def rectangle(tool,arz): # محاسبه ی محیط و مساحت ی یک مستطیل
macahat = tool * arz # محاسبه ی مساحت
mohit = (arz + tool) * 2 # محاسبه ی محیط
return &quotmacahat is {}nmohit is {}n&quot.format(macahat,mohit) # برگرداندن محیط و مساحت به عنوان خروجی
#tool = int(input(&quotPlease Enter Tool of rectangle:n&quot))
#arz = int(input(&quotPlease Enter Arz of rectangle:n&quot))
#print(rectangle(tool , arz))
def Virgool_answer(): # یک نفر تو ویرگول یه سوال داشت من برا تمرین حلش کردم
# این برنامه میاد به اندلازه ای که کاربر گفتها ازش آیتم میگیره و اونا رو میذاره تو یه لیست
item_len = int(input(&quothow many item:&quot)) # گرفتن تعداد آیتم ها از کاربر
item_list = [] # ساخت یک لیست خالی
for i in range(0,item_len): # ساخت بک حلقه فور به تعداد تکراری که کاربر وارد کرده
item = input(&quotenter item:&quot) # گرفتن آیتم ها از کاربر
item_list += [item] # اضافه کردن آنها به لیست
print(item_list) # چاپ لیست تا ببینیم نتیجه درسته یا نه
#Virgool_answer()
&quot&quot&quot
کامنت چند خطی
&quot&quot&quot
def move_value_A_And_B(a,b): # این متد میاد جای A و B رو عوض می کنه
print(&quotbeforena =&quot,a,&quotn b = &quot,b) # قبل از عوض کردن مقدار رو نشون میده
a , b = b , a # روش اول
# روش دوم:
# c = a # یه متغیر مخزن لازم داریم. چون اگه جای متغیر ها رو با هم عوض کنیم دیگه نمی تونیم جای اون یکی رو با این یکی عوض کنیم
#a = b # جای A رو با B عوض می کنیم
#b =  c# حالا متغیر مخزن رو وارد بی می کنیم
print(&quotafterna = {}n b = {}&quot.format(a,b)) # حالا چاپ می کنیم تا ببینیم درسته یا نه
#move_value_A_And_B(&quotaas&quot,32)
def move_value_A_And_B_And_C(a,b,c): # بدون شرح! خیلی پیچیده ست
print(&quotbeforena ={}n b = {}n c = {}&quot.format(a,b,c))
x = b
b = a
x = c
x = c
a = c
print(&quotafterna ={}n b = {}n c = {}&quot.format(a,b,c))
#move_value_A_And_B_And_C(12,&quotseyyed&quot,&quot12seqw25&quot)
def Zog_Ya_Fard(num): # همون طور که از اسم این متد معلومه میاد مشخص می کنه که عدد زوجه یا فرد
mod = num % 2 # محاسبه ی باقیمانده ی تقسیم عدد بر دو
if mod == 0: # اگر باقیمانده صفر بود..
print(&quot{} is zoj&quot.format(num)) # چاپ کن عدد زوج است
else: # اگر  صفر نبود
print(&quot{} is fard&quot.format(num)) # چاپ کن عدد فرد است
#number = int(input(&quotPlease Enter A NUmber To befahmim Zog Ast Ya Fard:n&quot))
#Zog_Ya_Fard(number)
def Month_And_Day_To_Day(Month , Day): # این الگوریتم ماه و روز را میگیرد و میگوید که چند روز از سال گذشته است
if Month <= 6:
Resualt =  (Month * 31) + Day
if Month > 6:
Resualt = ((Month - 6) * 30) + (6 * 31)
return &quotDay is {}&quot.format(Resualt)
#Month = int(input(&quotPlease Enter Month: &quot))
#Day = int(input(&quotPlease Enter Day Of Month: &quot))
#Month_And_Day_To_Day(Month , Day)
def zoj_Ta_Abad(): # این الگوریتم اعداد زوج یک تا ۱۰۰ را چاپ می کند
for i in range(0,100,2): # ساخت یک حلقه فور با تابع رنج
# range( عدد شروع,عدد تمام, هربار .. تا جلو برود)
#  شروع حلقه از صفر و تمام شدن حلقه ۱۰۰ هستش و هربار دوتا جلو میره
print(i) # چاپ متغیر i
#zoj_Ta_Abad()
def Day_To_Month(Day):
if Day <= 186:
m = Day // 31
d = Day % 31
return &quot{} Day is {} Month And {} Day&quot.format(Day, m , d)
if Day > 186:
x = Day - 186
m = (x // 30) + 6
d = x % 30
return &quot{} Day is {} Month And {} Day&quot.format(Day, m , d)
#Day = int(input(&quotPlease Enter The Day: &quot))
#print(Day_To_Month(Day))
def Calculator(String):
evl = eval(String)
return evl
#print(Calculator(input(&quotit is a one Calculatorn * / + - ina alamat haye mohasebat hastann&quot)))

نوشته حل ۱۰۰ الگوریتم(البته نه همه شون) اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

دیدگاهتان را بنویسید