مدرسه زبان برنامه‌نویسی PYTHON



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


#Programmer : Saeed Damghanian

#Web : Pyschool.blg.ir


# Function for nth Fibonacci number 

  

def Fibonacci(n): 

    if n<0: 

        print("Incorrect input") 

    # First Fibonacci number is 0 

    elif n==1: 

        return 0

    # Second Fibonacci number is 1 

    elif n==2: 

        return 1

    else: 

        return Fibonacci(n-1)+Fibonacci(n-2) 

  

# Driver Program 


n=int(input("Pleas Enter n: "))  

print(Fibonacci(n)) 

  


#------------Telegram: @Ghoghnous_Iran-----------------------




b444745_Untitled.png


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


#Programmer : Saeed Damghanian

#Web : Pyschool.blg.ir


def bubbleSort(arr):

    n = len(arr)

 

    # Traverse through all array elements

    for i in range(n):

 

        # Last i elements are already in place

        for j in range(0, n-i-1):

 

            # traverse the array from 0 to n-i-1

            # Swap if the element found is greater

            # than the next element

            if arr[j] > arr[j+1] :

                arr[j], arr[j+1] = arr[j+1], arr[j]

 

# Driver code to test above

arr = [64, 34, 25, 12, 22, 11, 90]

 

bubbleSort(arr)

 

print ("Sorted array is:")

for i in range(len(arr)):

    print ("%d" %arr[i])


#------------Telegram: @Ghoghnous_Iran-----------------------



a887838_Untitled.png



برنامه زیر ضرائب معادله درجه 2 را گرفته و معادله را حل نموده و جوابهای معادله را در صورت حقیقی بودن نمایش می‌دهد. سعی کنید برنامه‌ای بنویسید که جوابهای موهمومی معادله را نیز محاسبه و چاپ کند.


#Programmer : Saeed Damghanian

#Web : Pyschool.blg.ir


import math

a=int(input("Please Enter a: "))

b=int(input("Please Enter b: "))

c=int(input("Please Enter c: "))

delta=b*b-4*a*c

if delta==0 :

    x=(-b + math.sqrt(delta))

    print("Moadele Yek javab darad. X=",x)

elif delta<0:

    print("Moadele javabe haghighi nadarad!")

else :    

    x1=(-b + math.sqrt(delta))/(2*a)

    x2=(-b - math.sqrt(delta))/(2*a)

    print("Moadele 2 javab darad.\n X1= ",x1, "\nX2= " , x2)


#------------Telegram: @Ghoghnous_Iran-----------------------


 

h909262_Untitled.png


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


# Hive

# By: Saeed Damghanian


from turtle import *

from math import *


def line(x, y, x2, y2):

    ''' Draw a line from (x, y) to (x2, y2) '''

    penup()

    goto(x, y)

    pendown()

    goto(x2, y2)



def draw_tree(x, y, size, angle,n):

    ''' Draw a tree of given size and angle at (x, y) '''

    if n==1:

        return

    if size < 4:

        return

    x2 = x + size * cos(radians(angle))

    y2 = y + size * sin(radians(angle))

    line(x, y, x2, y2)

    draw_tree(x2, y2, size , angle + 60,n-1)

    draw_tree(x2, y2, size , angle - 60,n-1)



# main program

#tracer(0,0)


#speed(10)

#delay(2)

draw_tree(0, 0, 50, 90,10)

mainloop()


u544287_Untitled.png


کدی که در ذیل مشاهده می‌کنید یک خورشید را به صورت خطهای هندسی رسم کرده و رنگ میزند. #جالبناک


from turtle import *

color('blue', 'yellow')

begin_fill()

while True:

    forward(200)

    left(100)

    if abs(pos()) < 1:

        break

end_fill()

done()


خروجی کد بالا شکلی مطابق ذیل است. با ما همراه شوید . مدرسه پایتون

n488379_Untitled.png


برنامه ای نوشتم که آدرس یک سایت رو بگیره و آی پی سایت رو نمایش بده. خیلی ساده (البته گرافیکی* #پایتون )


#Code By Saeed Damghanian

#Software Engineer from Semnan


import os, socket

import tkinter as tk

from tkinter import font


def response(a):

    b = socket.gethostbyname(a)

    c = "\n \n \nProgrammer: Saeed Damghanian\nWebsPyschool.blog.ir\nWant to Join our Telegram Channel? >> t.me/ghoghnous_iran"

    return b + c


def do(a):

    label['text'] = response(a)


root = tk.Tk()

root.title('Get Website Ip')


canvas = tk.Canvas(root, height=500, width=600)

canvas.pack()


#background_image1 = tk.PhotoImage(file='bg.png')

#background_label =tk.Label(root, image=background_image1)

#background_label.place(relwidth=1, relheight=1)


frame = tk.Frame(root, bg='#C02F11', bd=5)

frame.place(relx=0.5, rely=0.1, relwidth=0.75, relheight=0.1, anchor='n')


entry = tk.Entry(frame, font=('Modern', 15))

entry.insert(0, 'Website URL')

entry.place(relwidth=0.65, relheight=1)


button = tk.Button(frame, text='Get IP', bd=0, bg='white', fg='#098f00', font=60, command=lambda:do(entry.get()))

button.place(relx=0.7, relheight=1, relwidth=0.3)


lower_frame = tk.Frame(root, bg='#0ed400', bd=10)

lower_frame.place(relx=0.5, rely=0.25, relwidth=0.75, relheight=0.6, anchor='n')


label = tk.Label(lower_frame, font=('Modern', 15), anchor='nw', bg='#323142', fg='white', justify='left', bd=4)

label.place(relwidth=1, relheight=1)


root.mainloop()


g241362_Untitled.png



برنامه نویسی تابع گرا یا functional programming

برنامه نویسی تابع گرا یک سبک برنامه نویسی است که بر اساس توابع است.
بخش کلیدی برنامه نویسی تابع گرا در پایتون، توابع مرتبه بالاتر است. ما این ایده را به طور خلاصه در درس قبلی در مورد توابع به عنوان اشیا دیده ایم. توابع مرتبه بالاتر، توابع دیگر را به عنوان آرگومان دریافت می کنند، و یا آنها را به عنوان نتایج به ارمغان می آورند.
مثال:

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 عمل دیگری را به عنوان استدلال آن انجام می دهد و آن را دو بار در داخل بدنه کد خود فرا خوانی می کند.

توابع خالص و ناخالص (pure and impure functions)

برنامه نویسی کاربردی به دنبال استفاده از توابع خالص است. توابع خالص عوارض جانبی ندارند و مقداری را که فقط به استدلال آنها بستگی دارد، بازمی گرداند.
این کار در ریاضی به این صورت عمل می کند: به عنوان مثال، cos (x)، برای همان مقدار x، همیشه همان نتیجه را به دست می آورد.
در زیر نمونه هایی از توابع خالص و ناخالص هستند.
عملکرد خالص:

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 را تغییر داد.

استفاده از توابع خالص هم مزایا و هم معایب دارد.
توابع خالص عبارتند از:
– ساده تر در شفاف سازی و تست کردن
– کارآمدتر. هنگامی که عملکرد برای یک ورودی ارزیابی می شود، نتیجه می تواند ذخیره شود و به دفعه بعد که عملکرد آن ورودی مورد نیاز است، نسبت دهد تا تعداد دفعاتی که تابع فراخوانی می شود کاهش یابد. به این مدل memoization یا به اصطلاح یادداشت برداری می گویند.
– راحت تر به صورت parallel یا موازی اجرا شود.

نکته:معایب اصلی استفاده از تنها توابع خالص این است که آنها وظیفه ساده و آسان I / O را به شدت پیچیده می کنند، زیرا به نظر می رسد به طور ذاتی نیاز به عوارض جانبی دارد. همچنین می توانند در بعضی موقعیت ها دشوار باشند.


تبلیغات

محل تبلیغات شما
محل تبلیغات شما محل تبلیغات شما

آخرین وبلاگ ها

آخرین جستجو ها

موبو دانلود | Mobo Download آذران فضانما|مبلمان اداري|پانل پي وي سي|سقف کاذب و ديوارپوش پي و چربی گیر پلی اتیلن , قیمت چربی گیر پلی اتیلنی وبلاگ شخصی علی احمدی آبپخش کولر سلولزي انرژي صدای مشاور تحصیلی ارائه خدمات ويزاي اوکراين پشتی خلیجی سریر