کدهای پایتون

ساخت وبلاگ

تاریخ شروع یادگیری کدنویسی در پایتون 28/11/1402

در کد زنی تجربه یه برنامه نویس بعد 10 سال کد زنی: 1- عجله نکن 2- مهارت و تمرین کن 3- از یه منبع یاد بگیر 4- چون یادگیری برنامه نویسی وقت گیره یه مهارت مثلا طراحی سایت با وردپرس را در کمترین وقت یادبگیر و پولی رای خود دست پا کن بعد با خیال راحت برنامه نویسی را ادامه بده 5- نباید کدها را حفظ کرد بلکه باید دستورات را خوب یاد گرفت یعنی حفظ نکن سرج کن 6- خودت باکت را حل کن 7- همه کاره و هیچ کاره نباش

1- برنامه‏ای بنویسید که n عدد را گرفته و بزرگترین و کوچکترین را نمایش دهد.

def inputs(num):

listnumber=[]

for item in range(num):

number=int(input("Enter number :"))

listnumber.append(number)

return listnumber

def dectmaxmin(nums):

max=min=nums[0]

for item in range(1,len(nums)):

if(nums[item]>max):

max=nums[item]

if(nums[item]min):

min=nums[item]

print("max number:",max,"min number:",min)

x=int(input("Enetr number:"))

numbers=inputs(x)

print("Numbers:",numbers)

dectmaxmin(numbers)

۱. برنامه ای بنویسید که میانگین اعداد را محاسبه کند.

برای حل تمرین اول که محاسبه میانگین اعداد است، باید یک برنامه ساده بنویسیم که یک لیست از اعداد را به عنوان ورودی دریافت کند و سپس میانگین اعداد را محاسبه کند و آن را چاپ کند. برای این کار می‌توانیم از تابع sum() جهت محاسبه مجموع اعداد و تابع len() جهت تعداد اعداد در لیست استفاده کنیم.

حال بیایید برنامه را با پایتون بنویسیم:

import os

os.system('cls')

def calculate_average(numbers):

total=sum(numbers)

length=len(numbers)

average=total/length

return average

#مثال استفاده از تابع

list_of_numbers=[]

result=calculate_average(list_of_numbers)

print("Average list numbers: ",result)

این برنامه یک تابع به نام calculate_average() دارد که یک لیست از اعداد را به عنوان ورودی دریافت می‌کند و میانگین آن را محاسبه می‌کند و به عنوان خروجی برمی‌گرداند. سپس با استفاده از این تابع، یک لیست از اعداد را به عنوان ورودی به تابع می‌دهیم و میانگین آن را در خروجی چاپ می‌کنیم.

در این مثال، میانگین اعداد لیست [3، 5، 7، 9، 12] برابر با 7.2 است.

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

برای محاسبه فاکتوریل یک عدد، می‌توانیم از یک حلقه for استفاده کنیم که به ترتیب اعداد را از ۱ تا آن عدد در نظر بگیرد و آن‌ها را با هم ضرب کند. برای مثال، برای محاسبه فاکتوریل یک عدد به نام n می‌توانیم این کد را بنویسیم:

import os

os.system('cls')

def factorial(n):

result=1

for i in range(1,n+1):

result*=i

return result

#مثال استفاده از تابع

number=int(input("please enter a number: "))

print("Factorial" , number,"Is equal to" , factorial(number))

در این برنامه، تابع factorial() یک عدد به عنوان ورودی دریافت می‌کند و فاکتوریل آن را با استفاده از حلقه for محاسبه می‌کند. سپس با استفاده از تابع input()، یک عدد از کاربر گرفته می‌شود و به عنوان ورودی به تابع factorial() داده می‌شود. سپس مقدار بازگشتی تابع، یعنی فاکتوریل آن عدد، در خروجی چاپ می‌شود.

به عنوان مثال، اگر کاربر عدد ۵ را وارد کند، فاکتوریل آن برابر با ۱۲۰ خواهد بود (۵ × ۴ × ۳ × ۲ × ۱).

۳. برنامه ای بنویسید که یک متن را معکوس کند.

برای معکوس کردن یک رشته متنی، می‌توانیم از روشی استفاده کنیم که ابتدا رشته را به صورت رشته‌ای برعکس می‌کند و سپس آن را چاپ می‌کند. برای این کار می‌توانیم از عملگر ترکیبی [::-1] استفاده کنیم که به معنای این است که از ابتدا تا انتهای رشته را در نظر گرفته و برعکس کرده و سپس این رشته را بازگردانده و چاپ کنیم. برای مثال:

import os

os.system('cls')

def reverse_string(string):

return string[::-1]

#مثال استفاده از تابع

text=input("Please enter a text: ")

print("Reversed text: ",reverse_string(text))

در این برنامه، تابع reverse_string() یک رشته به عنوان ورودی دریافت می‌کند و از عملگر ترکیبی [::-1] برای اعکس کردن رشته استفاده می‌کند. سپس رشته معکوس شده در خروجی بازگردانده می‌شود. سپس با استفاده از تابع input()، یک رشته از کاربر گرفته می‌شود و به عنوان ورودی به تابع reverse_string() داده می‌شود. سپس مقدار بازگشتی تابع، یعنی رشته معکوس شده، در خروجی چاپ می‌شود.

به عنوان مثال، اگر کاربر رشته “Hello, World!” را وارد کند، متن معکوس شده آن به شکل “!dlroW ,olleH” در خروجی چاپ می‌شود.

۴. برنامه ای بنویسید که اعداد زوج و فرد در یک لیست را پیدا کند.

برای جداسازی اعداد زوج و فرد در یک لیست، می‌توانیم از یک حلقه برای گرفتن هر عنصر لیست استفاده کنیم و سپس با استفاده از عملگر modulo، عدد را بررسی کنیم که زوج یا فرد است. سپس عدد را به یکی از دو لیست جداگانه برای اعداد فرد و زوج اضافه می‌کنیم. برای مثال:

def find_even_odd(numbers):

even=[]

odd=[]

for num in numbers:

if num % 2 ==0:

even.append(num)

else:

odd.append(num)

return even,odd

#مثال استفاده از تابع

numbers=input("Please separate numbers using commas:").split(",")

numbers=[int(num) for num in numbers]

even,odd=find_even_odd(numbers)

print("even numbers is: ",even)

print("odd numbers is: ",odd)

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

خط به خط توضیحات به شرح زیر است:

def find_even_odd(numbers): : این خط تعریف تابع Find_even_odd را آغاز می‌کند. این تابع یک ورودی به نام numbers دریافت می‌کند که یک لیست از اعداد است.

even = [] : یک لیست جدید به نام even برای نگهداری اعداد زوج ایجاد می‌شود.

odd = [] : یک لیست جدید به نام odd برای نگهداری اعداد فرد ایجاد می‌شود.

for num in numbers: : یک حلقه for شروع می‌شود که بر روی هر عنصر در numbers (یعنی هر عدد در لیست ورودی) حرکت می‌کند.

if num % 2 == 0: : اگر عدد فعلی (که در num قرار دارد) بر ۲ بخش پذیر باشد (به این معنی که زوج است):

even.append(num) :عدد زوج به لیست even اضافه می‌شود.

else: : در غیر این صورت (یعنی اگر عدد فرد باشد)

odd.append(num) : عدد فرد به لیست odd اضافه می‌شود.

return even, odd : در نهایت، لیست اعداد زوج و لیست اعداد فرد به عنوان خروجی تابع برگردانده می‌شوند.

numbers=input("Please separate numbers using commas:").split(",")

این خط کاربر را برای ورودی اعداد به صورت رشته از ورودی می‌خواهد. ورودی‌ها با استفاده از کاما از یکدیگر جدا می‌شوند و سپس با استفاده از split(",") به لیست اعداد تبدیل می‌شوند.

numbers = [int(num) for num in numbers] : این خط لیست اعداد ورودی را به لیستی از اعداد صحیح تبدیل می‌کند.

even, odd = Find_even_odd(numbers) : این خط از تابع Find_even_odd برای جداسازی اعداد زوج و فرد استفاده می‌کند و نتیجه را به دو متغیر even و odd اختصاص می‌دهد.

print("even numbers is: ",even): اعداد زوج را چاپ می‏کند.

:print("odd numbers is: ",odd): اعداد فرد را چاپ می‌کند.

۵. برنامه ای بنویسید که تعداد حروف و اعداد در یک رشته را مشخص کند.

import os

os.system('cls')

def count_letters_digits(text) :

letters=0

digits=0

for char in text:

if char.isalpha(): # بررسی اینکه آیا کارکتر حرف است یا نه

letters+=1

if char.isdigit(): #بررسی اینکه آیا کارکتر عدد است یا نه

digits+=1

return letters,digits

#مثال استفاده از تابع

text=input("please enter a string:")

letters,digits=count_letters_digits(text)

print("Number of letters:",letters)

print("number of digits:",digits)

letters,digits=count_letters_digits(text):

در این بخش از کد، متغیرهای letters و digits از تابع count_letters_digits(text) مقداردهی می‌شوند. زمانی که این خط اجرا می‌شود، تابع count_letters_digits(text) فراخوانی می‌شود و رشته text به عنوان ورودی به آن داده می‌شود. سپس این تابع تعداد حروف و اعداد در رشته را محاسبه می‌کند و این دو مقدار را به صورت یک دوتایی از مقادیر بازمی‌گرداند. به این صورت که مقدار اول (index 0) این دوتایی تعداد حروف را نگاشت می‌کند و مقدار دوم (index 1) تعداد اعداد را. سپس این مقادیر به ترتیب به متغیرهای letters و digits اختصاص داده می‌شوند. به عبارت دیگر، این خط کد به شما اجازه می‌دهد تا دو متغیر با نام‌های letters و digits را از تابع count_letters_digits(text) دریافت کنید و از این مقادیر برای کاربرد‌های دیگر در برنامه‌ی خود استفاده کنید.

۶. برنامه ای بنویسید که مجموع اعداد در یک لیست را محاسبه کند.

برای محاسبه مجموع اعداد در یک لیست، می‌توانید از یک حلقه استفاده کنید تا اعداد را یکی یکی بررسی کنید و مجموع آنها را محاسبه کنید. در ادامه یک نمونه کد برای این کار ارائه شده است:

import os

os.system('cls')

def calculate_sum(nubers):

total=0

for num in numbers:

total+=num

return total

numbers=[int(num) for num in input("Please separate numbers using commas: ").split(",")]

sum_of_numbers=calculate_sum(numbers)

print("sum of numbers: ",sum_of_numbers)

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

numbers=[int(num) for num in input("Please separate numbers using commas: ").split(",")]

این خط کد یک لیست از اعداد را از ورودی کاربر دریافت می‌کند.

در اینجا از ترکیب دو عبارت کلیدی استفاده شده است:

input("Please separate numbers using commas: ") : این قسمت از کاربر می‌خواهد تا اعداد را وارد کند. پیامی که برای کاربر نمایش داده می‌شود، این است: "لطفاً اعداد را با استفاده از کاما جدا کنید".

.split(","): این قسمت رشته ورودی را بر اساس کاماها جدا می‌کند و هر بخش را به عنوان یک عنصر در یک لیست قرار می‌دهد.

در نهایت، از نمایه‌ی لیست ([]) و لیست تولید شده با استفاده از لیست کامل ([...]) برای تبدیل هر عنصر به یک عدد صحیح استفاده می‌شود (int(num)). این کار باعث می‌شود همه اعداد وارد شده توسط کاربر به صورت صحیح در لیست numbers ذخیره شوند.

۷. برنامه ای بنویسید که یک لیست را مرتب کند.

خوب، در زبان پایتون می‌توانید از تابع built-in sorted() برای مرتب‌سازی یک لیست استفاده کنید. این تابع یک لیست را مرتب می‌کند و لیست مرتب شده را برمی‌گرداند. در اینجا یک مثال از استفاده از تابع sorted() برای مرتب‌سازی یک لیست عددی:

import os

os.system('cls')

#لیست اولیه

unsorted_list=[3,1,5,2,4]

#مرتب سازی لیست

sorted_list=sorted(unsorted_list)

#چاپ کردن مرتب شده

print("Sorted list:",sorted_list)

این کد، لیست اعداد [3, 1, 5, 2, 4] را مرتب کرده و لیست مرتب شده را چاپ می‌کند.

اگر می‌خواهید لیست اصلی را تغییر دهید و مرتب شده کنید، می‌توانید از تابع sort() روی خود لیست استفاده کنید:

import os

os.system('cls')

#لیست اولیه

unsorted_list=[3,1,5,2,4]

# مرتب سازی لیست اصلی

unsorted_list.sort()

#چاپ کردن مرتب شده

print("Sorted list:",unsorted_list)

در این حالت، لیست unsorted_list به طور مستقیم تغییر کرده و مرتب شده است.

۸. برنامه ای بنویسید که بررسی کند یک عدد اول هست یا خیر.

برای بررسی اینکه آیا یک عدد اول است یا نه، می‌توانیم از یک حلقه for استفاده کنیم و همه اعداد را از ۲ تا عدد ورودی بررسی کنیم. اگر عددی را پیدا کردیم که برای عدد ورودی بخش‌پذیر است، آن عدد اول نیست. اگر هیچ عددی پیدا نشد که برای عدد ورودی بخش‌پذیر باشد، آن عدد اول است. به عنوان مثال، برای عدد ۱۳، از ۲ تا ۱۲ همه اعداد را بررسی می‌کنیم و می‌بینیم که هیچ عددی برای ۱۳ بخش‌پذیر نیست، پس ۱۳ یک عدد اول است.

import os

os.system('cls')

def is_prime(number):

if number1:

return False

for i in range(2,int(number ** 0.5)+1):

if number % i==0:

return False

return True

#مثال های استفاده

num=12

if is_prime(num):

print(num,"is a prime number")

else:

print(num,"is not a prime number")

این تابع is_prime() عدد را بررسی می‌کند و اگر عدد اول بود، True برمی‌گرداند و در غیر این صورت False. در مثال بالا، تابع بررسی می‌کند که آیا عدد ۱۷ یک عدد اول است یا نه.

بطور خط به خط توضیح می‌دهم:

if number : در این خط، بررسی می‌شود که آیا عدد ورودی کوچکتر یا مساوی ۱ است یا نه. اگر عدد ورودی کمتر یا مساوی ۱ باشد، این بدان معناست که عدد اول نیست و به عنوان نتیجه False برگردانده می‌شود.

for i in range(2, int(number ** 0.5) + 1): : در این خط، یک حلقه for برای اعداد صحیح از ۲ تا جذر عدد ورودی (شامل) ایجاد می‌شود. این حلقه به کمک عملگر توان (**) جذر مربعی عدد ورودی را محاسبه کرده و سپس آن را به عدد صحیح بزرگتر برای استفاده در محدوده range() تبدیل می‌کند.

if number % i == 0: : در هر گام از حلقه for، این شرط بررسی می‌شود که آیا عدد ورودی بر تقسیم به i بدون باقی می‌شود یا نه. اگر بدون باقی بودن، به این معناست که عددی وجود دارد که بخش‌پذیر بر عدد ورودی است، در نتیجه این عدد ورودی اول نیست و False برگردانده می‌شود.

return False : اگر هیچ عددی پیدا نشود که بخش‌پذیر بر عدد ورودی باشد، تابع False برمی‌گرداند، زیرا عدد ورودی عدد اول است.

return True : اگر از شرط قبلی عبور نشود، این بدان معناست که هیچ عددی پیدا نشده است که بخش‌پذیر بر عدد ورودی باشد، در نتیجه عدد ورودی یک عدد اول است و True برمی‌گردانده می‌شود.

۹. برنامه ای بنویسید که تعداد تکرار یک عدد را مشخص کند.

import os

os.system('cls')

def count_repetition(lst,num):

count=0

for i in lst:

if i==num:

count+=1

return count

my_list=[1,3,5,3,2,1,3,3,3,3,3,3,3,3,7,9,3]

number=3

result=count_repetition(my_list,number)

print(f"The number {number} repetition {result} item in the list." )

در پایتون fstring روشی برای نمایش دادن ترکیبی stringها و متغیرها است.

۱۰. برنامه ای بنویسید که اعداد مثبت را به باینری تبدیل کند.

import os

os.system('cls')

def decimal_to_binary(n):

binary=""

while n>0:

binary=str(n % 2)+binary

n//=2

return binary

number=int(input("Enter a positive integere: "))

binary_number=decimal_to_binary(number)

print("The binary representation", number, "is", binary_number)

این برنامه یک تابع به نام decimal_to_binary تعریف می‌کند که یک عدد صحیح در مبنای ده را به مبنای دو تبدیل می‌کند. حالت کلی عملکرد این تابع به این شکل است:

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

در یک حلقه while، ما مقدار n را بررسی می‌کنیم. حلقه تا زمانی که n بزرگ‌تر از صفر باشد ادامه پیدا می‌کند.

در هر مرحله از حلقه، با استفاده از n % 2 باقیمانده تقسیم عدد n بر ۲ را به دست می‌آوریم. این کار به ما رقم معکوس عدد دودویی مورد نظر را می‌دهد.

سپس این رقم به سمت رشته binary اضافه می‌شود. این کار به ما اعداد دودویی معکوس شده مربوط به عدد اصلی را می‌دهد.

سپس عدد n خود را بر ۲ کوچک‌تر می‌کنیم و نتیجه را به صورت صحیح تقسیم می‌کنیم (استفاده از // عمل تقسیم صحیح را انجام می‌دهد).

این فرآیند تا زمانی ادامه می‌یابد که n برابر با صفر شود.

در نهایت، رشته binary که نمایش عدد دودویی معکوس شده است را به عنوان خروجی تابع برمی‌گردانیم. این کار معادل با این است که اعداد دودویی معکوس شده را به ترتیب درستی چیده و به دست آورده‌ایم.

۱۱. برنامه‌ای بنویسید که یک فایل متنی را باز کند و محتوای آن را به صورت متنی چاپ کند.

البته، برنامه‌ای که شما می‌خواهید به زبان پایتون نوشته شود، می‌تواند به صورت زیر باشد:

def read_text_file(file_path):

try:

# باز کردن فایل متنی

with open(file_path,'r') as file:

# خواندن محتوای فایل

content = file.read()

# چاپ محتوای فایل

print("File content")

print(content)

except FileNotFoundError:

# چاپ پیغام خطا اگر فایل مورد نظر پیدا نشد

print("Error: The desired file was not found!")

except Exception as e:

# چاپ پیغام خطا اگر مشکلی در خواندن فایل به وجود آمده است

print("Error: There was a problem reading the file", e)

#مسیر فایل متنی را وارد کنید

file_path=input("Please enter the path to the text file:")

# فراخوانی تابع با مسیر فایل متنی به عنوان ورودی

read_text_file(file_path)

توضیح try:

بلاک try در زبان‌های برنامه‌نویسی، به شما امکان می‌دهد کدی را اجرا کنید که ممکن است خطا داشته باشد. این بلاک به صورت زیر استفاده می‌شود:

try:

# کدی که ممکن است خطا داشته باشد

except خطا یا استثناء>:

# کدی که باید اجرا شود اگر خطا رخ داده باشد

توضیحات:

بلاک try شامل کدی است که ممکن است خطا داشته باشد. هنگامی که برنامه به این بلاک می‌رسد، ابتدا کد درون try اجرا می‌شود.

اگر هیچ خطایی در زمان اجرای کد درون try رخ ندهد، برنامه به ادامه اجرای برنامه خود ادامه می‌دهد و بلاک except را نادیده می‌گیرد.

اگر در زمان اجرای کد درون بلاک try، خطایی رخ دهد، اجرای برنامه به جایی مشخص شده در بلاک except منتقل می‌شود. اگر نوع خطا با نوعی که در بلاک except تعیین شده مطابقت (یکی باشد) داشته باشد، کد درون بلاک except اجرا می‌شود.

برنامه بلاک try را اجرا می‌کند و در صورت رخداد خطا، برنامه به بلاک except می‌رود و کد درون آن اجرا می‌شود. اگر نوع خطایی که رخ داده با نوعی که در بلاک except تعیین شده مطابقت (یکسان) نداشته باشد، برنامه از بلاک except عبور نمی‌کند و خطای جدیدی پیش می‌آید که می‌گوید این استثناء از پیش‌بینی نشده است.

برای پوشش یکسری از خطاها، می‌توان بیش از یک بلاک except در نظر گرفت که هرکدام برای یک نوع خطا خاص است. در این صورت، اولویت بلاک‌ها بر اساس ترتیب تعریف آن‌ها است.

بلاک try همچنین می‌تواند یک بلاک finally داشته باشد که کدی است که باید در هر صورت اجرا شود، چه خطا رخ دهد و چه نکند.

توضیح except FileNotFoundError:

بلاک except FileNotFoundError: در زبان‌های برنامه‌نویسی، یک بلاک استثناء است که برای کنترل و پردازش خطای فایل پیدا نشدن (FileNotFoundError) استفاده می‌شود. این استثناء زمانی ایجاد می‌شود که یک عملیات مربوط به فایل (مانند باز کردن یک فایل) انجام می‌شود، اما فایل مورد نظر پیدا نمی‌شود.

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

توضیح کد except Exception as e:

کد except Exception as e: در زبان‌های برنامه‌نویسی مانند Python به منظور کمک به مدیریت خطاها و پیدا کردن مشکلات در زمان اجرا استفاده می‌شود. این کد به شما امکان می‌دهد تا یک استثنا (خطای) را به عنوان یک متغیر مشخص (که در اینجا e نامیده شده است) دریافت کنید و از اطلاعات مربوط به خطا برای انجام عملیات معین بعدی استفاده کنید.

به طور کلی، ساختار try...except در Python برای محاوله (کوشش تلاش‌کردن ) اجرای یک بلاک کد و در صورت بروز خطا، مدیریت و رسیدگی به آن استفاده می‌شود. برای مثال:

try:

# کدی که ممکن است خطا داشته باشد

result = 10 / 0

except Exception as e:

# در صورت بروز خطا، متغیر e اطلاعات خطا را نگه می‌دارد

print("An error occurred:", e)

در این مثال، اگر در هنگام اجرای کد 10 / 0 خطا رخ دهد (زیرا تقسیم بر صفر غیر مجاز است)، کنترل به بخش except منتقل می‌شود و متغیر e اطلاعات خطا را نگه می‌دارد. در اینجا، پیام خطا به صورت متغیر e چاپ می‌شود.

12- برنامه‌ای بنویسید که یک فایل متنی را باز کند و تعداد کلمات، تعداد خطوط و تعداد حروف در فایل را محاسبه کند.

در اینجا یک برنامه ساده در پایتون برای باز کردن یک فایل متنی، محاسبه تعداد کلمات، تعداد خطوط و تعداد حروف در فایل می‌آید:

import os

os.system('cls')

def analyze_text_file(file_name):

try:

#باز کردن فایل به صورت خواندنی

with open(file_name,'r') as file:

#خواندن محتوای فایل

content=file.read()

#محاسبه تعداد کلمات

word_count=len(conten.split())

#محاسبه تعداد خطوط

line_count=content.count('n')+1 #تعداد خطوط زیر نویس آخرین خط

#محاسبه تعداد حروف

char_count=len(content.replace('n','').replace('', ''))

#چاپ نتایج

print(f"Number of words: {word_count}")

print(f"Number of lines: {line_count}")

print(f"Number of letters: {char_count}")

except FileNotFoundError:

print(f"Error: File '{file_name}' not found.")

except PermissionError:

print(f"Error: File access '{file_name}'It's impossible.")

except Exception as e:

print("Unknown error",e)

#نام فایل متنی را وارد کن

file_name="Example.txt"

#تحلیل فایل متنی

analyze_text_file(file_name)

بله، حالا بیایید به طور خط به خط توضیحاتی در مورد کدهای شما ارائه دهم:

import os:

این دستور، ماژول os را به برنامه شما وارد می‌کند. این ماژول قابلیت‌های مرتبط با سیستم عامل را فراهم می‌کند، مانند دسترسی به متغیرهای محیطی، مدیریت فایل‌ها و دایرکتوری‌ها و غیره.

os.system('cls'):

این دستور از ماژول os استفاده می‌کند تا دستوری به سیستم عامل ارسال کند. در اینجا، cls دستور پاکسازی صفحه (به صورت پاک کردن محتویات صفحه) در سیستم عامل ویندوز است. این دستور به طور عمده برای پاک کردن صفحه قبل از چاپ خروجی جدید در محیط کنسول (Command Prompt) استفاده می‌شود.

توضیح word_count=len(conten.split())

در این بخش از کد، تعداد کلمات در متن موجود در فایل محاسبه می‌شود. به طور خاص، این خط کارهای زیر را انجام می‌دهد:

content.split() : ابتدا متن فایل را به وسیلهٔ متد split() به عناصر مختلف تقسیم می‌کند. این تابع با استفاده از فاصله به عنوان معیار تقسیم، متن را به عناصر (کلمات) تبدیل می‌کند و آنها را در یک لیست قرار می‌دهد.

len(): سپس با استفاده از تابع len()، تعداد عناصر (کلمات) موجود در لیست به دست می‌آید که در نهایت تعداد کلمات در متن را نشان می‌دهد.

به طور خلاصه، word_count=len(content.split()) تعداد کلمات در متن موجود در فایل را به صورت خودکار محاسبه و ذخیره می‌کند.

توضیح line_count=content.count('n')+1

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

content.count('n'): این قسمت از کد، تعداد کاراکترهای جدید خط (کاراکتر n) را در متن محاسبه می‌کند. این کاراکترها جداکننده‌ی خطوط متن هستند.

+1: این قسمت برای افزودن یک واحد به تعداد خطوط محاسبه شده است. این افزایش به دلیل این است که اخرین خط متن ممکن است بدون کاراکتر n پایان یابد و این کاراکتر برای خط آخر به طور ضمنی محاسبه نشده است. بنابراین، با افزودن یک واحد به تعداد کاراکترهای n، تعداد کل خطوط متن را بدست می‌آوریم.

به طور خلاصه، line_count=content.count('n')+1 تعداد خطوط موجود در متن فایل را به صورت خودکار محاسبه و ذخیره می‌کند.

توضیح char_count=len(content.replace('n','').replace('', ''))

Top of Form

در این بخش از کد، تعداد کاراکترها (حروف) در متن فایل محاسبه می‌شود. برای این کار، ابتدا کاراکترهای n (کاراکتر جدید خط) از متن حذف می‌شوند و سپس کاراکترهای خالی (فاصله) نیز حذف می‌شوند. سپس با استفاده از تابع len()، طول رشته‌ی نهایی که شامل کاراکترهای متن بدون کاراکترهای جدید خط و فاصله‌ها است، محاسبه می‌شود.

content.replace('n',''): این قسمت از کد، تمام کاراکترهای n (کاراکتر جدید خط) را از متن حذف می‌کند. در نتیجه، متنی بدست می‌آید که خطوط جدید حذف شده‌اند.

replace('', '') : این قسمت از کد، تمام کاراکترهای خالی (فاصله) را از متن حذف می‌کند. در نتیجه، متن بدون کاراکترهای جدید خط و فاصله‌ها باقی می‌ماند.

len() : در نهایت، با استفاده از تابع len()، طول رشته‌ی نهایی که شامل کاراکترهای متن بدون کاراکترهای جدید خط و فاصله‌ها است، محاسبه می‌شود.

به طور خلاصه، char_count=len(content.replace('n','').replace('', '')) تعداد کل حروف موجود در متن فایل (بدون کاراکترهای جدید خط و فاصله‌ها) را به صورت خودکار محاسبه و ذخیره می‌کند.

توضیح except PermissionError:

در این بخش از کد، except PermissionError یک بلوک استثناء (exception handling block) است که برای بررسی و رفع خطاهای مربوط به مجوز دسترسی به فایل مورد نظر استفاده می‌شود.

زمانی که برنامه فایل مورد نظر را باز کرده و به آن دسترسی دارد، هیچ مشکلی پیش نمی‌آید. اما اگر دسترسی به فایل وجود نداشته باشد (به عنوان مثال به دلیل محدودیت‌های دسترسی در سیستم عامل یا مشکلات دیگر)، برنامه به خطای PermissionError برمی‌خورد که معمولاً به معنای عدم دسترسی مجاز به فایل است.

در این بلوک استثناء، پیام مناسبی به کاربر نمایش داده می‌شود که به وی اطلاع می‌دهد که دسترسی به فایل مورد نظر امکان‌پذیر نیست و برنامه قادر به انجام عملیات مورد نظر نمی‌باشد. این امر به کاربر اجازه می‌دهد تا مشکلات مرتبط با مجوز دسترسی را بررسی و رفع کند.

این بلوک استثناء معمولاً در مواقعی مورد استفاده قرار می‌گیرد که برنامه به طور خودکار بتواند با مشکلات مربوط به دسترسی به فایل مقابله کند و یا کاربر را به درستی مطلع کند.

۱۳. برنامه‌ای بنویسید که از کاربر دو ماتریس دو بعدی را با اندازه یکسان دریافت کند و ماتریس جمع و ماتریس ضرب آنها را محاسبه کند و چاپ کند.

می‌توانید از کد زیر برای این کار استفاده کنید:

Top of Form

Top of Form

Top of Form

Top of Form

Top of Form

Top of Form

Top of Form

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

برچسب : نویسنده : angouti1355o بازدید : 20 تاريخ : جمعه 11 اسفند 1402 ساعت: 19:11