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

وبلاگی جهت معرفی - آموزش و تحلیل زبان برنامه نویسی ‍پایتون

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

وبلاگی جهت معرفی - آموزش و تحلیل زبان برنامه نویسی ‍پایتون

طبقه بندی موضوعی
بایگانی

۴ مطلب در دی ۱۴۰۱ ثبت شده است

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

# Selection sort in Python
# time complexity O(n*n)
#sorting by finding min_index
def selectionSort(array, size):
	
	for ind in range(size):
		min_index = ind

		for j in range(ind + 1, size):
			# select the minimum element in every iteration
			if array[j] < array[min_index]:
				min_index = j
		# swapping the elements to sort the array
		(array[ind], array[min_index]) = (array[min_index], array[ind])

arr = [-2, 45, 0, 11, -9,88,-97,-202,747]
size = len(arr)
selectionSort(arr, size)
print('The array after sorting in Ascending Order by selection sort is:')
print(arr)

موفق و پیروز باشید - سعید دامغانیان

۰ نظر موافقین ۰ مخالفین ۰ ۱۱ دی ۰۱ ، ۱۰:۴۰
سعید دامغانیان

برنامه ای بنویسید که یک عدد از کاربر گرفته و اگر تمامی ارقام این عدد مجزا بودند عبارت is lucky را چاپ کند و در غیر اینصورت is not lucky را چاپ کند. به عنوان مثال عدد 8596 باید خروجی is lucky برگرداند زیرا تمامی ارقام آن مجزا هستند ولی عدد 3663 بعلت تکرار ارقام خروجی is not lucky را برمیگرداند. اعدادی که تمامی ارقام آنها مجزا باشند را Lucky Number مینامیم.

# python program to check if a
# given number is lucky

import math

# This function returns true
# if n is lucky
def isLucky(n):
	
	# Create an array of size 10
	# and initialize all elements
	# as false. This array is
	# used to check if a digit
	# is already seen or not.
	ar = [0] * 10
	
	# Traverse through all digits
	# of given number
	while (n > 0):
		
		#Find the last digit
		digit = math.floor(n % 10)

		# If digit is already seen,
		# return false
		if (ar[digit]):
			return 0

		# Mark this digit as seen
		ar[digit] = 1

		# REmove the last digit
		# from number
		n = n / 10
	
	return 1

# Driver program to test above function.
arr = [1291, 897, 4566, 1232, 80, 700]
n = len(arr)

for i in range(0, n):
	k = arr[i]
	if(isLucky(k)):
		print(k, " is Lucky ")
	else:
		print(k, " is not Lucky ")
	
#SaeedDmn

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

۰ نظر موافقین ۰ مخالفین ۰ ۱۱ دی ۰۱ ، ۱۰:۳۶
سعید دامغانیان

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

# Python program for implementation of Insertion Sort
 
# Function to do insertion sort
def insertionSort(arr):
     
    if (n := len(arr)) <= 1:
      return
    for i in range(1, n):
         
        key = arr[i]
 
        # Move elements of arr[0..i-1], that are
        # greater than key, to one position ahead
        # of their current position
        j = i-1
        while j >=0 and key < arr[j] :
                arr[j+1] = arr[j]
                j -= 1
        arr[j+1] = key
 
 
#sorting the array [12, 11, 13, 5, 6] using insertionSort
arr = [12, 11, 13, 5, 6]
insertionSort(arr)
print(arr)

موفق و پیروز باشید - سعید دامغانیان

۰ نظر موافقین ۰ مخالفین ۰ ۱۱ دی ۰۱ ، ۱۰:۲۹
سعید دامغانیان

در این برنامه کاربردی به زبان پایتون یک bubble sort را پیاده سازی نموده ایم.

# Python program for implementation of Bubble Sort
 
def bubbleSort(arr):
    n = len(arr)
    # optimize code, so if the array is already sorted, it doesn't need
    # to go through the entire process
    swapped = False
    # Traverse through all array elements
    for i in range(n-1):
        # range(n) also work but outer loop will
        # repeat one time more than needed.
        # 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]:
                swapped = True
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
         
        if not swapped:
            # if we haven't needed to make a single swap, we
            # can just exit the main loop.
            return
 
 
# 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], end=" ")

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

موفق و پیروز باشید. سعید دامغانیان

۰ نظر موافقین ۰ مخالفین ۰ ۱۱ دی ۰۱ ، ۱۰:۲۳
سعید دامغانیان