محتوای جدول
1-محاسبه ضرب و مجموع دو عدد
دو عدد صحیح به برنامه داده میشود. برنامه باید حاصلضرب این دو عدد را محاسبه کند.
اگر حاصلضرب آنها کوچکتر یا مساوی ۱۰۰۰ بود، همان حاصلضرب را برگرداند.
اما اگر حاصلضرب بیشتر از ۱۰۰۰ شد، بهجای آن باید حاصل جمع دو عدد را برگرداند
✅
برای حل این مسئله در پایتون، ابتدا باید دو عدد صحیح بگیری و حاصلضرب آنها را در یک متغیر ذخیره کنی؛ سپس با استفاده از یک شرط if بررسی کنی که آیا حاصلضرب آنها کمتر یا مساوی ۱۰۰۰ است یا نه. اگر این شرط برقرار بود، همان حاصلضرب را به عنوان خروجی برمیگردانی، اما اگر از ۱۰۰۰ بیشتر بود، بهجای آن حاصل جمع دو عدد را محاسبه کرده و برمیگردانی. به این صورت برنامه تصمیم میگیرد که خروجی نهایی ضرب باشد یا جمع، بسته به مقدار بهدستآمده از ضرب دو عدد.
# نتیجه نهایی
اگر دو عدد 30 و 20 . وارد شود، 600
اگر دو عدد 30 و40 وارد شود، 70 نمایش داده شود
کد نهایی
def calculate(a, b):
product = a * b
if product <= 1000:
return product
else:
return a + b
# تست برنامه
print(calculate(20, 30)) # 600
print(calculate(40, 30)) # 70
2-حاصل جمع عدد جاری و عدد قبلی را نمایش بده
یک کد پایتون بنویس که از بین ۱۰ عدد اول عبور کند و در هر مرحله، جمع عدد فعلی و عدد قبلی را چاپ کند. ✅
برای حل این مسئله در پایتون، ابتدا یک متغیر برای نگهداری عدد قبلی تعریف میکنیم و آن را با صفر مقداردهی اولیه میکنیم چون قبل از اولین عدد، عدد قبلی وجود ندارد. سپس با استفاده از یک حلقه for روی ۱۰ عدد اول پیمایش میکنیم و در هر تکرار، جمع عدد فعلی و عدد قبلی را محاسبه و چاپ میکنیم. پس از چاپ، عدد فعلی را جایگزین عدد قبلی میکنیم تا در تکرار بعدی مورد استفاده قرار گیرد. به این ترتیب در هر مرحله، برنامه همواره جمع عدد جاری و عدد قبلی را نشان میدهد.
#نتیجه نهایی
urrent: 1, Previous: 0, Sum: 1
Current: 2, Previous: 1, Sum: 3
Current: 3, Previous: 2, Sum: 5
Current: 4, Previous: 3, Sum: 7
Current: 5, Previous: 4, Sum: 9
Current: 6, Previous: 5, Sum: 11
Current: 7, Previous: 6, Sum: 13
Current: 8, Previous: 7, Sum: 15
Current: 9, Previous: 8, Sum: 17
Current: 10, Previous: 9, Sum: 19
کد نهایی
previous = 0
for current in range(1, 11):
total = current + previous
print(f"Current: {current}, Previous: {previous}, Sum: {total}")
previous = current
3-کاراکترهای موجود در شماره اندیس زوج را چاپ کنید
یک کد پایتون بنویسید که یک رشته را از کاربر دریافت کند و کاراکترهای موجود در شماره اندیس زوج را نمایش دهد. ✅
ابتدا با استفاده از تابع input() در پایتون یک رشته از کاربر دریافت کنید. سپس با کمک تابع len() طول این رشته را محاسبه کنید. بعد از آن، با استفاده از یک حلقه و تابع range() روی کاراکترهای رشته حرکت کنید. مقادیر حلقه به این صورت باشند: شروع از 0، پایان len(s) - 1 و گام 2، چون هدف ما بررسی فقط اندیسهای زوج است. در هر مرحله از حلقه، با استفاده از s[i] کاراکتری که در اندیس زوج قرار دارد را چاپ کنید.
#نتیجه نهایی
input a string: bahmanpy
bahmanpy
b
h
a
p
کد نهایی-1
s = input("input a string: ")
length = len(s)
print(s)
for i in range(length):
if i%2==0:
print(s[i])
کد نهایی-2
s = input("input a string: ")
length = len(s)
print(s)
for i in range(0, length, 2):
print(s[i])
4- حذف n کاراکتر اول از یک رشته
یک برنامه در پایتون بنویس که کاراکترهای یک رشته را از ابتدای رشته اندیس 0 تا اندیس n حذف کند و در نهایت رشتهٔ جدید را برگرداند. ✅
برای گرفتن بخشی از یک رشته از برش رشته (string slicing) استفاده کن. با استفاده از نشانهگذاری [:] و مقدار n میتوانی قسمتی از رشته را که بعد از n کاراکتر اول قرار دارد، جدا کنی.
#نتیجه نهایی
input a string: bahmanpy
input number of first chracter that you want to delete: 3
orginal str
bahmanpy
==========
sliced string is:
manpy
کد نهایی
def new_sliced_caracter(my_str,n):
print('orginal str ')
print(my_str)
new_str=my_str[n:]
return new_str
my_str=input('input a string: ')
n=int(input('input number of first chracter that you want to delete: '))
sliced=new_sliced_caracter(my_str,n)
print('='*10)
print('sliced string is: ')
print(sliced)
5- بررسی کنید که آیا شماره اول و آخر یک لیست یکسان هستند یا خیر
برنامهای بنویس که بررسی کند آیا عدد اول و عدد آخر یک لیست برابر هستند یا نه.
اگر برابر بودند مقدار True برگردانده شود و اگر متفاوت بودند مقدار False برگردد. ✅
از اندیسگذاری در لیست استفاده کن.
اولین عنصر لیست را به دست بیاور.
آخرین عنصر لیست را استخراج کن.
سپس این دو مقدار را با عملگر تساوی
==با هم مقایسه کن.
#نتیجه نهایی
False
True
کد نهایی
def list_item_last_first_check(geven_list):
if geven_list[0]==geven_list[-1]:
return True
else:
return False
list1=[10,20,30,40,50]
list2=[20,50,90,80,20]
tuple_list=(list1,list2)
for item in tuple_list:
print(list_item_last_first_check(item))
6- نمایش اعداد بخشپذیر بر ۵
یک برنامه پایتون بنویس که از داخل یک لیست، فقط عددهایی را نمایش دهد که بر ۵ بخشپذیر هستند. ✅
با استفاده از یک حلقه for روی تکتک اعداد داخل لیست حرکت کن.
برای هر عدد، با عملگر باقیمانده (%) بررسی کن وقتی بر ۵ تقسیم میشود چه باقیماندهای دارد.
اگر باقیمانده برابر با صفر بود، یعنی آن عدد بر ۵ بخشپذیر است و باید آن را چاپ کنی
#نتیجه نهایی
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45]
کد نهایی
def divisible_by_5(numbers):
divisible=[]
for number in numbers:
if number%5==0:
divisible.append(number)
else:
continue
return(divisible)
list_of_numbers=[num for num in range(50)]
print(divisible_by_5(list_of_numbers))
7- تعداد دفعات تکرار یک زیررشته در یک رشته را پیدا کنید
یک کد پایتون بنویسید که مشخص کند زیررشته "bahman" چند بار در متن دادهشده ظاهر شده است. ✅
از متد count() استفاده کنید
#نتیجه نهایی
enter a string: bahman has coder from bahmanpy with bahram!
what sub string in "bahman has coder from bahmanpy with bahram!" do you want to count?: bah
in "bahman has coder from bahmanpy with bahram!" , the sub string "bah" acour 3 times
کد نهایی
def counter(my_str,sub_str):
number_of_count= my_str.count(sub_str)
return number_of_count
my_str=str(input('enter a string: '))
sub_str=str(input(f'what sub string in "{my_str}" do you want to count?: '))
print(f' in "{my_str}" , the sub string "{sub_str}" acour {counter(my_str,sub_str)} times')
8- الگوی زیر را بسازید
#نتیجه نهایی
0
0 1
0 1 2
0 1 2 3
اعداد را در یک الگوی مثلثی طوری چاپ کنید که سطر اول از صفر شروع شده و در هر سطر مقدار آن یک واحد افزایش یابد و به تعداد ستون های آن نیز یک واحد اضافه شود✅
توجه داشته باشید که در هر سطر یک عدد یکسان چند بار تکرار میشود و تعداد تکرارها با افزایش شماره سطر بیشتر میشود.
برای کنترل شماره سطرها (از ۱ تا ۵) به یک حلقه بیرونی نیاز دارید.
در داخل این حلقه، به یک حلقه داخلی نیاز دارید تا عدد مربوط به سطر جاری را به تعداد مناسب چاپ کند.
شماره سطر جاری همچنین مشخص میکند که حلقه داخلی چند بار اجرا شود.
کد نهایی
for i in range(5):
for j in range(i):
print(j, end=' ')
print('\n')
9- بررسی عدد پالیندروم
یک کد پایتون بنویسید که بررسی کند آیا عدد دادهشده یک عدد پالیندروم است یا نه.
عدد پالیندروم عددی است که از جلو و عقب به یک شکل خوانده میشود.
برای مثال، عدد 545 یک عدد پالیندروم است✅
- عدد ورودی را دریافت کن.
- عدد را به یک رشته تبدیل کن.
- رشته را معکوس کن.
- رشته اصلی را با رشته معکوس شده مقایسه کن.
اگر یکسان باشند، مقدار True و در غیر این صورت مقدار False را برگردان.
#نتیجه نهایی
enter a number: 123
False
enter a number: 484
True
کد نهایی
def Palindrome(number):
number_str=str(number)
reversed_namber=number_str[::-1]
if reversed_namber==number_str:
print('True')
else:
print('False')
number=input('enter a number: ')
Palindrome(number)
10- ادغام دو لیست با استفاده از شرط زیر
با توجه به دو لیست از اعداد، کد پایتون را بنویسید که یک لیست جدید شامل اعداد فرد از لیست اول و اعداد زوج از لیست دوم ایجاد کند.✅
list1 = [10, 20, 25, 30, 35]
list2 = [40, 45, 60, 75, 90]- • یک لیست خالی برای ذخیره نتیجه ایجاد کنید.
• با استفاده از یک حلقهforروی لیست اول حرکت کنید؛ اگر یک عدد فرد بود (با فرمولnum % 2 != 0بررسی کنید)، آن را به لیست جدید اضافه کنید.
• سپس روی لیست دوم حلقه بزنید؛ اگر یک عدد زوج بود (یعنی باقیمانده تقسیم آن بر ۲ برابر با صفر باشد)، آن را به لیست جدید اضافه کنید.
• در نهایت، لیست جدیدی که ساختهاید را برگردانید (return کنید).
#نتیجه نهایی
list 1 : [10, 20, 25, 30, 35]
list 2 : [40, 45, 60, 75, 90]
new list is: [25, 35, 40, 60, 90]
کد نهایی
def odd_even_func(list1,list2):
new_list=[]
for odd in list1:
if odd%2!=0:
new_list.append(odd)
else:
continue
for even in list2:
if even%2==0:
new_list.append(even)
else:
continue
print(f'new list is: {new_list}')
list1 = [10, 20, 25, 30, 35]
list2 = [40, 45, 60, 75, 90]
print(f'list 1 : {list1}')
print(f'list 2 : {list2}')
odd_even_func(list1,list2)
11- هر رقم از یک عدد را به ترتیب معکوس دریافت کنید
برای مثال، اگر عدد صحیح داده شده ۷۵۳۶ باشد، خروجی باید «۶ ۳ ۵ ۷» باشد، و ارقام با یک فاصله از هم جدا شوند.✅
شما باید رقم آخر یک عدد را جدا (استخراج) کنید. برای این کار از عملگر باقیمانده (%) استفاده میکنیم. بعد از اینکه رقم آخر را بهدست آوردید، میتوانید با استفاده از تقسیم صحیح (//) رقم آخر را از عدد اصلی حذف کنید.
این فرایند را آنقدر تکرار کنید تا عدد به صفر برسد.
در هنگام استخراج هر رقم، آن را ذخیره کنید (مثلاً در یک رشته) و ارقام را به صورت معکوس ترتیب اصلی و با فاصله از هم بنویسید.
#نتیجه نهایی
enter a number: 25648
25648
8 4 6 5 2
کد نهایی
def reverse_number(number):
while number>0:
digit=number%10
number//=10
print(digit, end=' ')
number=int(input('enter a number: '))
print(number)
reverse_number(number)
12- محاسبه مالیات بر درآمد
با رعایت قوانین زیر، مالیات بر درآمد را برای درآمد داده شده محاسبه کنید✅
| درآمد مشمول مالیات | نرخ (به درصد) |
|---|---|
| اولین $10,000 | 0 |
| دومین $10,000 | 10 |
| باقی مانده | 20 |
برای مثال، فرض کنید درآمد ۴۵۰۰۰ است و مالیات بر درآمد قابل پرداخت ...
۱۰۰۰۰*۰٪ + ۱۰۰۰۰*۱۰٪ + ۲۵۰۰۰*۲۰٪ = ۶۰۰۰ دلار
#نتیجه نهایی
enter your income in $: 45000
6000.0
کد نهایی
def income_tax(income):
tax_payable=0
if income<=10000:
tax_payable=0
elif income<=20000:
tax_payable=(20000-income)*0.1
else:
tax_payable=10000*0.1
tax_payable+=(income-20000)*0.2
return tax_payable
income=int(input('enter your income in $: '))
print(income_tax(income))
13- چاپ جدول ضرب از ۱ تا ۱۰
جدول ضرب ۱ تا ۱۰ جدولی است که حاصل ضرب اعداد ۱ تا ۱۰ را نشان میدهد.
کدی بنویسید که یک جدول ضرب کامل برای اعداد ۱ تا ۱۰ تولید کند.✅
از حلقههای تو در تو استفاده کنید، که در آن یک حلقه درون حلقه دیگر قرار میگیرد.
- حلقه بیرونی روی سطرها (اعداد ۱ تا ۱۰) تکرار میشود.
- حلقه درونی روی ستونها (اعداد ۱ تا ۱۰) تکرار میشود تا حاصل ضرب اعداد را محاسبه و نمایش دهد.
#نتیجه نهایی
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
کد نهایی
for i in range(1,11):
for j in range(1,11):
print(i*j, end=' ')
print(" ")
14- یک الگوی نیم هرمی رو به پایین از ستارهها چاپ کنید
کدی بنویسید که بتواند ستاره هارا به صورت نیم هرمی به گونه ای چاپ کند که مانند الگوی زیر باشد✅
* * * *
* * *
* *
*
- از یک حلقه بیرونی برای پیمایش بین سطرها استفاده کن (از تعداد کل سطرها تا ۱).
- داخل این حلقه بیرونی، از یک حلقه داخلی برای چاپ کردن کاراکتر ستاره (*) استفاده کن.
- تعداد دفعات اجرای حلقه داخلی باید برابر با شماره سطر فعلی در حلقه بیرونی باشد.
- بعد از اینکه حلقه داخلی برای هر سطر تمام شد، یک کاراکتر خط جدید (newline) چاپ کن تا به خط بعد بروی.
#نتیجه نهایی
* * * * *
* * * *
* * *
* *
*
کد نهایی
for i in range(5):
for j in range(5-i):
print('*', end=' ')
print('\t')
15- یک مقدار صحیح از پایه را به توان یک عدد دیگری برسانید
یک تابع به نام exponent(base, exp) بنویس که مقدار عدد صحیح حاصل از base به توان exp را برگرداند.
✅
توجه داشته باش که در اینجا exp یک عدد صحیح نامنفی است و base نیز یک عدد صحیح میباشد.
#نتیجه نهایی
4 raises to the power of 6 is: 4096
کد نهایی
def exponent(base, exp):
num = exp
result = 1
while num > 0:
result = result * base
num = num - 1
print(base, "raises to the power of", exp, "is: ", result)
exponent(4, 6)
16- بررسی عدد پالیندروم
عدد پالینـدروم (Palindrome) عددی است که وقتی رقمهایش برعکس میشوند، همان عدد باقی میماند.
به زبان سادهتر، از جلو و عقب یکسان خوانده میشود.
مثلاً: 121 و 5005.✅
عدد را برعکس کن و آن را با عدد اصلی مقایسه کن.
یک متغیر برای ذخیره عدد برعکس شده مقداردهی اولیه کن (در ابتدا روی ۰ قرار بده).
از یک حلقه
whileاستفاده کن که تا وقتی عدد اصلی بزرگتر از ۰ است ادامه داشته باشد.داخل حلقه:
رقم آخر عدد اصلی را با استفاده از عملگر باقیمانده (
% 10) به دست بیاور.عدد برعکس شده را بهروزرسانی کن: آن را در ۱۰ ضرب کن و سپس رقم استخراجشده را به آن اضافه کن.
عدد اصلی را با تقسیم صحیح (
// 10) بهروزرسانی کن تا رقم آخر حذف شود.
بعد از پایان حلقه، متغیر عدد برعکس شده، عدد معکوس را در خود خواهد داشت.
حالا بررسی کن که آیا این عدد با عدد اصلی برابر است یا نه.
#نتیجه نهایی
enter number: 2565
the original number is 2565 and reversed number is 5652
this number is non palindrome
enter number: 123454321
the original number is 123454321 and reversed number is 123454321
this number is palindrome
کد نهایی
def Palindorm(number):
original_number=number
old_number=0
while number>0:
remind=number%10
new_number=old_number*10+remind
old_number=new_number
number//=10
print(f'the original number is {original_number} and reversed number is {new_number}')
if new_number==original_number:
state='palindrome'
print(f'this number is {state}')
else:
state='non palindrome'
print(f'this number is {state}')
number= int(input('enter number: '))
Palindorm(number)
17- تولید سری فیبوناچی تا ۱۵ جمله
آیا تا به حال درباره دنباله فیبوناچی فکر کردهای؟
این یک دنباله عددی است که در آن، هر عدد با جمع دو عدد قبلی به دست میآید.
دو عدد اول آن 0 و 1 هستند
برای مثال:
0، 1، 1، 2، 3، 5، 8، 13، 21
عدد بعدی در این دنباله برابر است با:
13 + 21 = 34
✅
مقدار
num1 = 0وnum2 = 1را قرار بده (دو عدد اول دنباله).حلقه را ۱۵ بار اجرا کن.
در هر تکرار:
مقدار
num1را بهعنوان عدد فعلی دنباله چاپ کن.دو عدد قبلی را با هم جمع کن تا عدد بعدی به دست آید:
result = num1 + num2مقادیر
num1وnum2را بهروزرسانی کن:num1 = num2num2 = result
#نتیجه نهایی
enter number of fibonacci term : 15
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377]
کد نهایی
def fibonacci(number):
num1=0
num2=1
sum=0
fib_list=[num1,num2]
for i in range(number-2):
sum=num1+num2
num1=num2
num2=sum
fib_list.append(sum)
return fib_list
number= int(input('enter number of fibonacci term : '))
print(fibonacci(number))