محتوای جدول

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,0000
دومین $10,00010
باقی مانده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.✅

 
 
راهنمایی
  • عدد را برعکس کن و آن را با عدد اصلی مقایسه کن.

    1. یک متغیر برای ذخیره عدد برعکس شده مقداردهی اولیه کن (در ابتدا روی ۰ قرار بده).

    2. از یک حلقه while استفاده کن که تا وقتی عدد اصلی بزرگ‌تر از ۰ است ادامه داشته باشد.

    3. داخل حلقه:

      • رقم آخر عدد اصلی را با استفاده از عملگر باقی‌مانده (% 10) به دست بیاور.

      • عدد برعکس شده را به‌روزرسانی کن: آن را در ۱۰ ضرب کن و سپس رقم استخراج‌شده را به آن اضافه کن.

      • عدد اصلی را با تقسیم صحیح (// 10) به‌روزرسانی کن تا رقم آخر حذف شود.

    4. بعد از پایان حلقه، متغیر عدد برعکس شده، عدد معکوس را در خود خواهد داشت.

    5. حالا بررسی کن که آیا این عدد با عدد اصلی برابر است یا نه.

     
     
				
					#نتیجه نهایی
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 = num2
      num2 = 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))