آموزش برنامه‌نویسی پایتون و هوش مصنوعی
140 subscribers
358 photos
190 videos
41 files
172 links
🎯 یادگیری پایتون با رویکردی متفاوت
🚀 آموزش‌های کاملاً عملی و پروژه‌محور
💻 مسیر تبدیل شدن به یک برنامه‌نویس حرفه‌ای
🌟 فرقی نداره مبتدی هستی یا پیشرفته، از هر سطحی شروع کن و پایتون رو اصولی یاد بگیر
📩 ارتباط با ادمین: @YMahmoodian
09156519984
Download Telegram
فصل تاپل (Tuple) در پایتون – ۱۰۰ سوال با جواب و توضیح کامل. برای نظم، آنها را در بخش‌های ۱۰ تایی ارائه می‌کنم.



۱–۱۰: تعریف و دسترسی به تاپل

1. تاپل چیست؟
یک نوع داده غیرقابل تغییر (immutable) که عناصر را به ترتیب نگه می‌دارد.



t = (1, 2, 3)

2. چگونه تاپل بسازیم؟



t = (10, 20, 30)

3. تاپل با یک عنصر چگونه ساخته می‌شود؟



t = (5,)

4. چگونه به عنصر خاص دسترسی پیدا کنیم؟



t[1] # 2

5. چگونه به عناصر منفی اندیس دسترسی پیدا کنیم؟



t[-1] # آخرین عنصر

6. چگونه طول تاپل را پیدا کنیم؟



len(t)

7. چگونه کل تاپل را چاپ کنیم؟



print(t)

8. چگونه slicing روی تاپل انجام دهیم؟



t[0:2] # عناصر از اندیس 0 تا 1

9. چگونه عناصر آخر تاپل را انتخاب کنیم؟



t[-2:] # دو عنصر آخر

10. چگونه کل تاپل را معکوس کنیم؟



t[::-1]


---

۱۱–۲۰: توابع و عملیات پایه روی تاپل

11. چگونه تاپل را با + ترکیب کنیم؟



t1 = (1,2); t2=(3,4)
t3 = t1 + t2 # (1,2,3,4)

12. چگونه تاپل را تکرار کنیم؟



t = (1,)*3 # (1,1,1)

13. چگونه بیشترین و کمترین عنصر را پیدا کنیم؟



max(t); min(t)

14. چگونه مجموع عناصر تاپل را پیدا کنیم؟



sum((1,2,3)) # 6

15. چگونه وجود یک عنصر را بررسی کنیم؟



3 in t # True/False

16. چگونه تعداد یک عنصر را بشماریم؟



t.count(2)

17. چگونه اندیس اولین عنصر را پیدا کنیم؟



t.index(3)

18. چگونه تاپل را به رشته تبدیل کنیم؟



",".join(map(str,(1,2,3))) # "1,2,3"

19. چگونه تاپل را به لیست تبدیل کنیم؟



list(t)

20. چگونه یک لیست را به تاپل تبدیل کنیم؟



tuple([1,2,3])


---

۲۱–۳۰: تاپل تو در تو و دسترسی پیشرفته

21. چگونه تاپل تو در تو بسازیم؟



t = (1,(2,3),4)

22. چگونه به عنصر داخلی دسترسی پیدا کنیم؟



t[1][0] # 2

23. چگونه طول تاپل تو در تو را پیدا کنیم؟



len(t) # تعداد عناصر بیرونی

24. چگونه با slicing روی تاپل تو در تو کار کنیم؟



t[1:] # ( (2,3), 4 )

25. چگونه عناصر تاپل را به صورت حلقه چاپ کنیم؟



for x in t:
print(x)

26. چگونه با enumerate اندیس و مقدار بگیریم؟



for i, val in enumerate(t):
print(i, val)

27. چگونه عناصر تاپل تو در تو را مسطح کنیم؟



flat = []
for x in t:
if isinstance(x, tuple):
flat.extend(x)
else:
flat.append(x)

28. چگونه با while روی تاپل حلقه بزنیم؟



i = 0
while i<len(t):
print(t[i])
i+=1

29. چگونه تاپل شامل رشته بسازیم؟



t = ("apple", "banana", "cherry")

30. چگونه رشته‌های تاپل را با join ترکیب کنیم؟



",".join(t) # "apple,banana,cherry"


---

۳۱–۴۰: تغییر ناپذیری و ایمن بودن

31. چرا تاپل غیرقابل تغییر است؟
عناصر آن بعد از ایجاد قابل تغییر نیستند، امنیت داده‌ها بیشتر است.


32. آیا می‌توان عنصر تاپل را تغییر داد؟
خیر، مثلا t[0]=10 خطا می‌دهد.


33. آیا می‌توان تاپل را بزرگتر کرد؟
نه، فقط با ترکیب با تاپل دیگر می‌توان نسخه جدید ساخت.


34. چگونه یک تاپل جدید با عنصر اضافه بسازیم؟



t = t + (5,)

35. چگونه تاپل را کوچک کنیم؟
با slicing:



t = t[:-1]

36. آیا عناصر داخل تاپل mutable می‌توانند تغییر کنند؟
بله، مثلا لیست داخل تاپل قابل تغییر است:



t = (1,[2,3])
t[1].append(4)

37. چگونه ثابت بودن تاپل کمک می‌کند؟
برای استفاده در دیکشنری به عنوان کلید و داده‌های حساس مناسب است.


38. چگونه با تاپل عملیات unpacking انجام دهیم؟



a,b,c = (1,2,3)

39. چگونه تاپل تو در تو را unpack کنیم؟



(a,(b,c)) = (1,(2,3))

40. چگونه از * برای unpacking استفاده کنیم؟



a,*b,c = (1,2,3,4)
---

۴۱–۵۰: حلقه‌ها و پیمایش پیشرفته تاپل

41. چگونه با for روی تاپل پیمایش کنیم؟



for item in t:
print(item)

42. چگونه با while پیمایش کنیم؟



i = 0
while i < len(t):
print(t[i])
i += 1

43. چگونه با enumerate اندیس و مقدار بگیریم؟



for idx, val in enumerate(t):
print(idx, val)

44. چگونه فقط عناصر زوج را چاپ کنیم؟



for x in t:
if x % 2 == 0:
print(x)

45. چگونه با شرط in پیمایش کنیم؟



if 5 in t:
print("وجود دارد")

46. چگونه عناصر تاپل را با index چاپ کنیم؟



for i in range(len(t)):
print(t[i])

47. چگونه از list comprehension برای تاپل استفاده کنیم؟



tuple(x*2 for x in t)

48. چگونه تاپل را برعکس پیمایش کنیم؟



for x in t[::-1]:
print(x)

49. چگونه چند تاپل را همزمان پیمایش کنیم؟



t1 = (1,2); t2=(3,4)
for a,b in zip(t1,t2):
print(a,b)

50. چگونه فقط عناصر تکراری را پیدا کنیم؟



duplicates = [x for x in t if t.count(x)>1]


---

۵۱–۶۰: توابع داخلی و عملیات پیشرفته

51. چگونه طول تاپل را پیدا کنیم؟



len(t)

52. چگونه بیشترین و کمترین عنصر را پیدا کنیم؟



max(t); min(t)

53. چگونه مجموع عناصر تاپل را پیدا کنیم؟



sum(t)

54. چگونه تعداد یک عنصر را بشماریم؟



t.count(3)

55. چگونه اندیس اولین عنصر را پیدا کنیم؟



t.index(3)

56. چگونه تاپل را به لیست تبدیل کنیم؟



list(t)

57. چگونه لیست را به تاپل تبدیل کنیم؟



tuple([1,2,3])

58. چگونه تاپل را به رشته تبدیل کنیم؟



",".join(map(str,t))

59. چگونه تاپل را مرتب کنیم؟



sorted(t)

60. چگونه عناصر منحصر به فرد پیدا کنیم؟



tuple(set(t))


---

۶۱–۷۰: ترکیب و تکرار تاپل

61. چگونه دو تاپل را ترکیب کنیم؟



t1 + t2

62. چگونه یک تاپل را تکرار کنیم؟



t*3

63. چگونه یک عنصر اضافه کنیم؟



t = t + (10,)

64. چگونه یک عنصر حذف کنیم؟
با slicing:



t = t[:-1]

65. چگونه چند تاپل را ترکیب کنیم؟



t1 + t2 + t3

66. چگونه تاپل خالی بسازیم؟



t = ()

67. چگونه تاپل با عناصر یکسان بسازیم؟



t = (0,)*5

68. چگونه عناصر تاپل را با هم جمع کنیم؟



sum(t)

69. چگونه دو تاپل با طول متفاوت ترکیب کنیم؟
با zip:



for a,b in zip(t1,t2):
print(a,b)

70. چگونه عناصر مشترک دو تاپل را پیدا کنیم؟



tuple(set(t1) & set(t2))


---

۷۱–۸۰: تاپل تو در تو و unpacking پیچیده

71. چگونه تاپل تو در تو بسازیم؟



t = (1,(2,3),(4,5))

72. چگونه به عنصر داخلی دسترسی پیدا کنیم؟



t[1][0] # 2

73. چگونه کل عناصر داخلی را چاپ کنیم؟



for x in t:
if isinstance(x, tuple):
for y in x:
print(y)
else:
print(x)

74. چگونه تاپل تو در تو را unpack کنیم؟



a,(b,c),(d,e) = t

75. چگونه از * برای unpacking استفاده کنیم؟



a,*b,c = (1,2,3,4,5)

76. چگونه عناصر تاپل تو در تو را flatten کنیم؟



flat = [y for x in t for y in (x if isinstance(x, tuple) else (x,))]

77. چگونه تاپل تو در تو شامل لیست بسازیم؟



t = (1,[2,3],4)

78. چگونه عنصر داخل لیست در تاپل تغییر کند؟



t[1].append(5)

79. چگونه فقط تاپل‌ها در تاپل اصلی جدا کنیم؟



tuples_only = tuple(x for x in t if isinstance(x, tuple))

80. چگونه فقط عناصر غیر تاپل چاپ شوند؟



for x in t:
if not isinstance(x, tuple):
print(x)


---

۸۱–۹۰: امنیت داده و کاربرد تاپل

81. چرا تاپل امن‌تر از لیست است؟
چون غیرقابل تغییر است و داده‌ها تصادفی تغییر نمی‌کنند.


82. چرا تاپل می‌تواند کلید دیکشنری باشد؟
چون hashable و immutable است.


83. آیا لیست داخل تاپل قابل تغییر است؟
بله، فقط خود تاپل تغییر نمی‌کند.


84. چگونه داده‌های ثابت را ذخیره کنیم؟
با تاپل بهتر است تا با لیست.


85. چگونه تاپل را در set استفاده کنیم؟



s = {(1,2), (3,4)}

86. آیا می‌توان set داخل تاپل گذاشت؟
خیر، چون mutable است.


87. چگونه عناصر غیرقابل تغییر را فیلتر کنیم؟



tuple(x for x in t if isinstance(x,(int,str)))

88. چگونه تاپل را برای محاسبات عددی استفاده کنیم؟
مثلا sum, max, min روی عناصر عددی.


89. چگونه تاپل را در برنامه بزرگ به عنوان ثابت استفاده کنیم؟
مثلا لیست کشورهای ثابت:



countries = ("Iran","USA","France")

90. چگونه از تاپل برای پارامترهای تابع استفاده کنیم؟



def f(*args):
print(args)
f(1,2,3) # (1,2,3)


---

۹۱–۱۰۰: تمرینات ترکیبی و عملی

91. چگونه تاپل را از ورودی کاربر بسازیم؟



t = tuple(map(int, input().split()))

92. چگونه عناصر مثبت را جدا کنیم؟



pos = tuple(x for x in t if x>0)

93. چگونه عناصر زوج را جدا کنیم؟
even = tuple(x for x in t if x%2==0)

94. چگونه تاپل را برعکس چاپ کنیم؟



print(t[::-1])

95. چگونه عناصر یکتا را چاپ کنیم؟



print(tuple(set(t)))

96. چگونه تاپل و لیست را ترکیب کنیم؟



t = t + tuple([7,8])

97. چگونه تاپل شامل رشته‌ها را مرتب کنیم؟



sorted(t)

98. چگونه تاپل را در دیکشنری به عنوان کلید استفاده کنیم؟



d = {(1,2): "value"}

99. چگونه طول تاپل را بدون len حساب کنیم؟



count = sum(1 for _ in t)

100. چگونه دو تاپل را عنصر به عنصر جمع کنیم؟



t1 = (1,2); t2=(3,4)
t3 = tuple(a+b for a,b in zip(t1,t2))


-
فصل بعدی Set (مجموعه‌ها) است.

---

۱–۱۰: مفاهیم پایه Set

1. Set چیست؟
مجموعه‌ای از عناصر یکتا و غیرقابل تکرار در پایتون.


2. چگونه یک Set بسازیم؟



s = {1,2,3}

3. آیا Set ترتیب دارد؟
خیر، عناصر بدون ترتیب ذخیره می‌شوند.


4. چگونه Set خالی بسازیم؟



s = set()

5. آیا می‌توان Set تودرتو ساخت؟
خیر، چون Set غیرقابل هش است.


6. چگونه عناصر تکراری را حذف کنیم؟



s = set([1,2,2,3])

7. چگونه طول Set را پیدا کنیم؟



len(s)

8. چگونه یک عنصر به Set اضافه کنیم؟



s.add(4)

9. چگونه چند عنصر اضافه کنیم؟



s.update([5,6])

10. چگونه عنصر را حذف کنیم؟



s.remove(2) # اگر نباشد خطا می‌دهد


---

۱۱–۲۰: دستورات حذف و بررسی عناصر

11. چگونه عنصر را بدون خطا حذف کنیم؟



s.discard(10)

12. چگونه یک عنصر دلخواه حذف و دریافت کنیم؟



s.pop() # عنصر تصادفی

13. چگونه Set را خالی کنیم؟



s.clear()

14. چگونه بررسی کنیم عنصری در Set است؟



5 in s

15. چگونه بررسی کنیم عنصری در Set نیست؟



5 not in s

16. چگونه Set را کپی کنیم؟



s2 = s.copy()

17. چگونه عناصر Set را لیست کنیم؟



list(s)

18. چگونه Set را به tuple تبدیل کنیم؟



tuple(s)

19. چگونه Set را به رشته تبدیل کنیم؟



",".join(map(str,s))

20. آیا می‌توان Set داخل Set گذاشت؟
خیر، فقط عناصر hashable می‌توانند عضو Set باشند.




---

۲۱–۳۰: عملیات ریاضی روی Set

21. Union چیست؟
ترکیب دو Set بدون تکرار عناصر.


22. چگونه Union بگیریم؟



s1 | s2

23. روش دیگر Union؟



s1.union(s2)

24. Intersection چیست؟
عناصر مشترک بین دو Set.


25. چگونه Intersection بگیریم؟



s1 & s2

26. روش دیگر Intersection؟



s1.intersection(s2)

27. Difference چیست؟
عناصر Set اول که در Set دوم نیستند.


28. چگونه Difference بگیریم؟



s1 - s2

29. روش دیگر Difference؟



s1.difference(s2)

30. Symmetric Difference چیست؟
عناصر غیرمشترک دو Set.




---

۳۱–۴۰: عملیات پیشرفته Set

31. چگونه Symmetric Difference بگیریم؟



s1 ^ s2

32. روش دیگر؟



s1.symmetric_difference(s2)

33. Subset چیست؟
Set کوچکتر که تمام عناصرش در Set بزرگتر باشد.


34. چگونه بررسی کنیم؟



s1 <= s2

35. Superset چیست؟
Set بزرگتر که شامل تمام عناصر Set دیگر باشد.


36. چگونه بررسی کنیم؟



s1 >= s2

37. Disjoint چیست؟
دو Set هیچ عنصر مشترکی ندارند.


38. چگونه بررسی کنیم؟



s1.isdisjoint(s2)

39. چگونه Set را از لیست بسازیم و یکتا کنیم؟



s = set([1,2,2,3])

40. چگونه Set عددی از یک بازه بسازیم؟



s = set(range(1,6))
---

۴۱–۵۰: حلقه و پیمایش Set

41. چگونه روی عناصر Set پیمایش کنیم؟



for x in s:
print(x)

42. چگونه با while پیمایش کنیم؟



lst = list(s)
i = 0
while i < len(lst):
print(lst[i])
i += 1

43. چگونه عناصر Set را مرتب چاپ کنیم؟



for x in sorted(s):
print(x)

44. چگونه فقط عناصر زوج چاپ کنیم؟



for x in s:
if x % 2 == 0:
print(x)

45. چگونه عناصر بزرگتر از 5 را چاپ کنیم؟



for x in s:
if x > 5:
print(x)

46. چگونه تعداد عناصر Set را بدون len حساب کنیم؟



count = sum(1 for _ in s)

47. چگونه یک Set را معکوس کنیم؟
Set ترتیب ندارد، باید ابتدا به لیست تبدیل شود:



lst = list(s)
lst[::-1]

48. چگونه چند Set را همزمان پیمایش کنیم؟



for a,b in zip(s1,s2):
print(a,b)

49. چگونه عناصر مشترک دو Set را چاپ کنیم؟



for x in s1 & s2:
print(x)

50. چگونه عناصر غیرمشترک دو Set را چاپ کنیم؟



for x in s1 ^ s2:
print(x)


---

۵۱–۶۰: افزودن، حذف و به‌روزرسانی

51. چگونه یک عنصر به Set اضافه کنیم؟



s.add(10)

52. چگونه چند عنصر اضافه کنیم؟



s.update([11,12])

53. چگونه یک عنصر حذف کنیم بدون خطا؟



s.discard(5)

54. چگونه یک عنصر حذف کنیم با خطا در صورت نبود؟



s.remove(5)

55. چگونه یک عنصر دلخواه حذف و دریافت کنیم؟



x = s.pop()

56. چگونه تمام عناصر Set را حذف کنیم؟



s.clear()

57. چگونه Set را کپی کنیم؟



s2 = s.copy()

58. چگونه یک Set را با لیست ترکیب کنیم؟



s.update([1,2,3])

59. چگونه یک Set را با Set دیگر ترکیب کنیم؟



s.update(s2)

60. چگونه تعداد عناصر بعد از update چک کنیم؟



len(s)


---

۶۱–۷۰: عملیات ریاضی پیشرفته

61. Union چیست و چگونه محاسبه می‌شود؟



s1 | s2
# یا s1.union(s2)

62. Intersection چیست و چگونه محاسبه می‌شود؟



s1 & s2
# یا s1.intersection(s2)

63. Difference چیست و چگونه محاسبه می‌شود؟



s1 - s2
# یا s1.difference(s2)

64. Symmetric Difference چیست؟
عناصر غیرمشترک دو Set.


65. چگونه Symmetric Difference بگیریم؟



s1 ^ s2
# یا s1.symmetric_difference(s2)

66. Subset چیست؟
Set کوچکتر که تمام عناصرش در Set بزرگتر باشد.


67. چگونه Subset بودن را بررسی کنیم؟



s1 <= s2
# یا s1.issubset(s2)

68. Superset چیست؟
Set بزرگتر که شامل تمام عناصر Set دیگر باشد.


69. چگونه Superset بودن را بررسی کنیم؟



s1 >= s2
# یا s1.issuperset(s2)

70. Disjoint چیست و چگونه بررسی می‌شود؟
دو Set هیچ عنصر مشترکی ندارند:



s1.isdisjoint(s2)


---

۷۱–۸۰: کاربردهای عملی Set

71. چگونه عناصر تکراری لیست را حذف کنیم؟



lst = [1,2,2,3]; s = set(lst)

72. چگونه Set از رشته بسازیم؟



s = set("hello") # {'h','e','l','o'}

73. چگونه Set را به رشته تبدیل کنیم؟



"".join(s)

74. چگونه یک Set از اعداد زوج بسازیم؟



s = set(range(2,11,2))

75. چگونه Set را در دیکشنری به عنوان کلید استفاده کنیم؟
Set غیرقابل هش است، نمی‌توان به عنوان کلید استفاده کرد.


76. چگونه Set عددی را با comprehension بسازیم؟



s = {x*2 for x in range(5)}

77. چگونه عناصر Set را فیلتر کنیم؟



s = {x for x in s if x>5}

78. چگونه Set و لیست را ترکیب کنیم؟



s.update([10,11])

79. چگونه Set تو در تو بسازیم؟
غیرممکن، چون Set غیرقابل هش است.


80. چگونه تعداد عناصر مشترک دو Set را پیدا کنیم؟



len(s1 & s2)


---

۸۱–۹۰: ترکیب و تفاوت‌های عملی

81. چگونه Union دو Set را چاپ کنیم؟



print(s1 | s2)

82. چگونه Intersection دو Set را چاپ کنیم؟



print(s1 & s2)

83. چگونه Difference دو Set را چاپ کنیم؟



print(s1 - s2)

84. چگونه Symmetric Difference چاپ کنیم؟



print(s1 ^ s2)

85. چگونه Set را بر اساس طول رشته‌ها مرتب کنیم؟



s = {"apple","kiwi","banana"}
sorted(s, key=len)

86. چگونه بزرگترین و کوچکترین عنصر Set را پیدا کنیم؟



max(s); min(s)

87. چگونه مجموع عناصر Set عددی را محاسبه کنیم؟



sum(s)

88. چگونه میانگین عناصر Set عددی را پیدا کنیم؟



sum(s)/len(s)

89. چگونه Set را معکوس چاپ کنیم؟
ابتدا به لیست تبدیل می‌کنیم:



list(reversed(sorted(s)))

90. چگونه عناصر Set را تصادفی انتخاب کنیم؟



import random
random.choice(list(s))


---

۹۱–۱۰۰: تمرینات ترکیبی و کاربردی

91. چگونه Set از ورودی کاربر بسازیم؟



s = set(map(int,input().split()))

92. چگونه عناصر زوج Set را جدا کنیم؟



evens = {x for x in s if x%2==0}

93. چگونه عناصر بزرگتر از 10 را جدا کنیم؟



large = {x for x in s if x>10}

94. چگونه عناصر غیرمشترک دو Set را پیدا کنیم؟



s1 ^ s2
95. چگونه عناصر مشترک دو Set را پیدا کنیم؟



s1 & s2

96. چگونه Set را با List ترکیب کنیم؟



s.update([1,2,3])

97. چگونه Set را به Sorted List تبدیل کنیم؟



sorted(s)

98. چگونه Set را فیلتر کنیم که فقط رشته‌ها بماند؟



s = {x for x in s if isinstance(x,str)}

99. چگونه یک Set از رشته ورودی کاربر بسازیم؟



s = set(input().split())

100. چگونه دو Set را عنصر به عنصر جمع کنیم (عددها)؟



s1 = {1,2}; s2 = {3,4}
result = {a+b for a,b in zip(s1,s2)}


-
فصل بعدی Dictionary (دیکشنری‌ها)


---

۱–۱۰: مفاهیم پایه Dictionary

1. Dictionary چیست؟
ساختاری برای ذخیره داده به صورت زوج کلید و مقدار (key:value) در پایتون.


2. چگونه یک Dictionary بسازیم؟



d = {"a":1, "b":2}

3. چگونه یک Dictionary خالی بسازیم؟



d = {}
# یا d = dict()

4. آیا ترتیب کلیدها مهم است؟
در پایتون ۳.۷+ ترتیب درج حفظ می‌شود.


5. چگونه مقدار یک کلید را دسترسی پیدا کنیم؟



d["a"]

6. چگونه مقدار یک کلید را بدون خطا بگیریم؟



d.get("a")

7. چگونه یک کلید جدید اضافه کنیم؟



d["c"] = 3

8. چگونه مقدار یک کلید را به‌روزرسانی کنیم؟



d["a"] = 10

9. چگونه یک کلید را حذف کنیم؟



del d["b"]

10. چگونه کلید را با مقدار حذف کنیم و دریافت کنیم؟



d.pop("a")


---

۱۱–۲۰: دستورات کاربردی Dictionary

11. چگونه همه کلیدها را ببینیم؟



d.keys()

12. چگونه همه مقادیر را ببینیم؟



d.values()

13. چگونه همه کلیدها و مقادیر را ببینیم؟



d.items()

14. چگونه بررسی کنیم کلیدی وجود دارد؟



"a" in d

15. چگونه بررسی کنیم کلیدی وجود ندارد؟



"z" not in d

16. چگونه یک Dictionary را کپی کنیم؟



d2 = d.copy()

17. چگونه یک Dictionary را خالی کنیم؟



d.clear()

18. چگونه از لیست‌ها Dictionary بسازیم؟



keys = ["a","b"]; values=[1,2]
d = dict(zip(keys,values))

19. چگونه از tuple‌ها Dictionary بسازیم؟



t = [("a",1),("b",2)]
d = dict(t)

20. چگونه با comprehension Dictionary بسازیم؟



d = {x:x*2 for x in range(5)}


---

۲۱–۳۰: پیمایش Dictionary

21. چگونه کلیدها را پیمایش کنیم؟



for k in d:
print(k)

22. چگونه مقادیر را پیمایش کنیم؟



for v in d.values():
print(v)

23. چگونه کلید و مقدار را همزمان پیمایش کنیم؟



for k,v in d.items():
print(k,v)

24. چگونه کلیدها را مرتب پیمایش کنیم؟



for k in sorted(d):
print(k,d[k])

25. چگونه مقادیر بزرگتر از 5 را چاپ کنیم؟



for v in d.values():
if v>5:
print(v)

26. چگونه کلیدهایی که مقدارشان زوج است پیدا کنیم؟



[k for k,v in d.items() if v%2==0]

27. چگونه تعداد کلیدها را بشماریم؟



len(d)

28. چگونه بزرگترین مقدار را پیدا کنیم؟



max(d.values())

29. چگونه کلید متناظر با بزرگترین مقدار را پیدا کنیم؟



max(d, key=d.get)

30. چگونه مجموع مقادیر را پیدا کنیم؟



sum(d.values())
---

۳۱–۴۰: عملیات حذف و اضافه

31. چگونه چند کلید و مقدار همزمان اضافه کنیم؟



d.update({"x":10, "y":20})

32. چگونه کلید موجود را به‌روزرسانی کنیم؟



d.update({"a":100})

33. چگونه کلیدی را حذف کنیم بدون خطا اگر موجود نبود؟



d.pop("z", None)

34. چگونه آخرین کلید اضافه شده را حذف کنیم؟



d.popitem()

35. چگونه تمام کلیدها را حذف کنیم؟



d.clear()

36. چگونه یک Dictionary را با dictionary دیگر ترکیب کنیم؟



d.update({"new":50})

37. چگونه کلید جدید اضافه کنیم اگر موجود نبود؟



d.setdefault("b", 200)

38. چگونه مقدار پیش‌فرض برای کلید بدهیم؟



val = d.setdefault("c",0)

39. چگونه بررسی کنیم Dictionary خالی است؟



not d

40. چگونه کلیدهای تکراری را در ترکیب Dictionary حذف کنیم؟
در Dictionary کلیدها یکتا هستند، بنابراین خودکار حذف می‌شوند.




---

۴۱–۵۰: دستورات پیشرفته و توابع مفید

41. چگونه یک کلید را با مقدار دلخواه بگیریم؟



d.get("a", "not found")

42. چگونه Dictionary را بر اساس کلید مرتب کنیم؟



dict(sorted(d.items()))

43. چگونه Dictionary را بر اساس مقدار مرتب کنیم؟



dict(sorted(d.items(), key=lambda item: item[1]))

44. چگونه تعداد کلیدها را حساب کنیم؟



len(d)

45. چگونه بررسی کنیم کلیدی در Dictionary وجود دارد؟



"a" in d

46. چگونه بررسی کنیم کلیدی در Dictionary وجود ندارد؟



"z" not in d

47. چگونه همه کلیدها را به لیست تبدیل کنیم؟



list(d.keys())

48. چگونه همه مقادیر را به لیست تبدیل کنیم؟



list(d.values())

49. چگونه همه کلیدها و مقادیر را به لیست تبدیل کنیم؟



list(d.items())

50. چگونه Dictionary را معکوس کنیم (کلید و مقدار جابجا شود)؟



{v:k for k,v in d.items()}


---

۵۱–۶۰: Dictionary تو در تو

51. چگونه یک Dictionary تو در تو بسازیم؟



d = {"a": {"x":1, "y":2}, "b": {"x":3, "y":4}}

52. چگونه مقدار Dictionary تو در تو را دسترسی پیدا کنیم؟



d["a"]["x"]

53. چگونه مقدار Dictionary تو در تو را به‌روزرسانی کنیم؟



d["b"]["y"] = 10

54. چگونه کلیدهای داخلی را پیمایش کنیم؟



for k,v in d["a"].items():
print(k,v)

55. چگونه مقادیر داخلی را پیمایش کنیم؟



for v in d["a"].values():
print(v)

56. چگونه بررسی کنیم کلید داخلی وجود دارد؟



"x" in d["b"]

57. چگونه یک Dictionary تو در تو را کپی کنیم؟



import copy
d2 = copy.deepcopy(d)

58. چگونه عناصر داخلی Dictionary را حذف کنیم؟



del d["a"]["x"]

59. چگونه Dictionary تو در تو را ترکیب کنیم؟



d["a"].update({"z":5})

60. چگونه بررسی کنیم Dictionary تو در تو خالی است؟



not d["b"]


---

۶۱–۷۰: تمرینات عملی

61. چگونه Dictionary از ورودی کاربر بسازیم؟



d = dict(input("key:value ").split(":") for _ in range(3))

62. چگونه Dictionary با کلید عددی بسازیم؟



d = {i:i*10 for i in range(5)}

63. چگونه Dictionary از لیست کلید و مقدار بسازیم؟



keys = ["a","b"]; values=[1,2]
d = dict(zip(keys, values))

64. چگونه مقادیر تکراری Dictionary را پیدا کنیم؟



from collections import Counter
Counter(d.values())

65. چگونه کلید با بزرگترین مقدار را پیدا کنیم؟



max(d, key=d.get)

66. چگونه Dictionary را به رشته تبدیل کنیم؟



str(d)

67. چگونه Dictionary را به لیست از tuple‌ها تبدیل کنیم؟



list(d.items())

68. چگونه کلیدها و مقادیر را جداگانه در لیست ذخیره کنیم؟



keys = list(d.keys()); values = list(d.values())

69. چگونه مقادیر زوج را پیدا کنیم؟



[k for k,v in d.items() if v%2==0]

70. چگونه کلیدهای خاص را حذف کنیم؟



for k in ["a","b"]:
d.pop(k, None)
---

۷۱–۸۰: متدهای کاربردی پیشرفته

71. چگونه دو Dictionary را با هم جمع کنیم (merge)?



d3 = {d1, d2}

72. چگونه همه مقادیر Dictionary را جمع کنیم؟



sum(d.values())

73. چگونه همه مقادیر عددی بزرگ‌تر از ۱۰ را پیدا کنیم؟



[v for v in d.values() if v>10]

74. چگونه همه کلیدها با طول بیش از ۱ را پیدا کنیم؟



[k for k in d.keys() if len(k)>1]

75. چگونه Dictionary را معکوس کنیم (مقدار به کلید)؟



{v:k for k,v in d.items()}

76. چگونه مقادیر تکراری را حذف کنیم و تنها کلیدها بمانند؟



d = {k:v for k,v in d.items() if list(d.values()).count(v)==1}

77. چگونه Dictionary را بر اساس مقدار نزولی مرتب کنیم؟



dict(sorted(d.items(), key=lambda item: item[1], reverse=True))

78. چگونه یک Dictionary تو در تو را پیمایش کنیم و همه مقادیر را چاپ کنیم؟



for k1,v1 in d.items():
if isinstance(v1, dict):
for k2,v2 in v1.items():
print(k2,v2)

79. چگونه بررسی کنیم یک مقدار خاص در Dictionary وجود دارد؟



10 in d.values()

80. چگونه بررسی کنیم کلید خاص در Dictionary وجود دارد؟



"a" in d


---

۸۱–۹۰: تمرینات کاربردی و ترکیبی

81. چگونه Dictionary از رشته بسازیم؟



s = "a=1,b=2"; d = dict(x.split("=") for x in s.split(","))

82. چگونه Dictionary از دو لیست بسازیم؟



keys = ["x","y"]; values=[5,10]; d = dict(zip(keys, values))

83. چگونه یک مقدار پیش‌فرض در Dictionary قرار دهیم؟



d.setdefault("z", 0)

84. چگونه Dictionary را در فایل ذخیره کنیم؟



import json
json.dump(d, open("data.json","w"))

85. چگونه Dictionary را از فایل بخوانیم؟



d = json.load(open("data.json"))

86. چگونه تعداد مقادیر خاص را بشماریم؟



list(d.values()).count(10)

87. چگونه Dictionary را با شرط فیلتر کنیم؟



{k:v for k,v in d.items() if v>5}

88. چگونه کلیدها را کوچک یا بزرگ کنیم؟



{k.upper():v for k,v in d.items()}

89. چگونه Dictionary را با شرط حذف کنیم؟



{k:v for k,v in d.items() if v!=0}

90. چگونه همه مقادیر Dictionary را دو برابر کنیم؟



{k:v*2 for k,v in d.items()}


---

۹۱–۱۰۰: تمرینات نهایی و کاربردهای واقعی

91. چگونه لیست از Dictionary بسازیم؟



lst = [{"name":"Ali","age":20},{"name":"Sara","age":22}]

92. چگونه Dictionary از لیست Tuple بسازیم؟



t = [("x",1),("y",2)]; d = dict(t)

93. چگونه همه کلیدها را پیمایش کنیم و مقدار پیش‌فرض بدهیم؟



for k in ["a","b","c"]:
print(d.get(k,0))

94. چگونه بررسی کنیم Dictionary خالی است؟



not d

95. چگونه کلید با مقدار min را پیدا کنیم؟



min(d, key=d.get)

96. چگونه Dictionary را به لیست از مقادیر تبدیل کنیم؟



list(d.values())

97. چگونه Dictionary را به لیست از کلیدها تبدیل کنیم؟



list(d.keys())

98. چگونه مقادیر Dictionary را جمع کنیم؟



sum(d.values())

99. چگونه Dictionary را با حلقه while پیمایش کنیم؟



keys = list(d.keys())
i=0
while i<len(keys):
print(keys[i],d[keys[i]])
i+=1

100. چگونه Dictionary را به JSON تبدیل کنیم؟



import json
json_str = json.dumps(d)


---

با این ۱۰۰ سوال، فصل Dictionary به طور کامل با مفاهیم پایه، تو در تو، متدها، پیمایش، مرتب‌سازی، فیلتر و کاربردهای عملی پوشش داده شد.
فصل بعدی لیست‌ها (List) را شروع می‌کنیم و برای نظم، آن را به مجموعه‌های ۱۰۰ سوال با جواب و توضیح کامل ارائه می‌کنیم.


---

فصل List – ۱۰۰ سوال با جواب و توضیح


---

۱–۱۰: تعریف و ایجاد لیست

1. چگونه یک لیست خالی بسازیم؟



lst = []

2. چگونه لیست با چند مقدار بسازیم؟



lst = [1, 2, 3, 4]

3. چگونه لیست شامل انواع داده مختلف بسازیم؟



lst = [1, "a", 3.5, True]

4. چگونه لیست از رشته بسازیم؟



lst = list("hello") # ['h','e','l','l','o']

5. چگونه لیست از range بسازیم؟



lst = list(range(5)) # [0,1,2,3,4]

6. چگونه یک لیست را چاپ کنیم؟



print(lst)

7. چگونه طول یک لیست را پیدا کنیم؟



len(lst)

8. چگونه بررسی کنیم یک عنصر در لیست وجود دارد؟



3 in lst

9. چگونه بررسی کنیم یک عنصر در لیست نیست؟



5 not in lst

10. چگونه یک لیست تو در تو بسازیم؟



lst = [[1,2],[3,4],[5,6]]


---

۱۱–۲۰: دسترسی و ایندکس

11. چگونه به اولین عنصر لیست دسترسی پیدا کنیم؟



lst[0]

12. چگونه به آخرین عنصر لیست دسترسی پیدا کنیم؟



lst[-1]

13. چگونه به عناصر وسط لیست دسترسی پیدا کنیم؟



lst[1:3] # عناصر ایندکس 1 و 2

14. چگونه با حلقه for همه عناصر را چاپ کنیم؟



for x in lst:
print(x)

15. چگونه با while پیمایش کنیم؟



i=0
while i<len(lst):
print(lst[i])
i+=1

16. چگونه ایندکس یک عنصر خاص را پیدا کنیم؟



lst.index(3)

17. چگونه تعداد تکرار یک عنصر را پیدا کنیم؟



lst.count(2)

18. چگونه لیست را معکوس کنیم؟



lst[::-1] # یا lst.reverse()

19. چگونه کل لیست را کپی کنیم؟



lst2 = lst.copy()

20. چگونه آخرین عنصر لیست را حذف کنیم؟



lst.pop()


---

۲۱–۳۰: اضافه کردن و درج عناصر

21. چگونه یک عنصر به انتهای لیست اضافه کنیم؟



lst.append(5)

22. چگونه یک عنصر در موقعیت مشخص اضافه کنیم؟



lst.insert(2, 10) # ایندکس 2، مقدار 10

23. چگونه چند عنصر را به لیست اضافه کنیم؟



lst.extend([6,7,8])

24. چگونه یک لیست را به انتهای لیست دیگر اضافه کنیم؟



lst2 = [9,10]; lst.extend(lst2)

25. چگونه عنصر خاصی را حذف کنیم؟



lst.remove(10) # فقط اولین تکرار حذف می‌شود

26. چگونه همه عناصر لیست را پاک کنیم؟



lst.clear()

27. چگونه لیست را تکرار کنیم؟



lst2 = lst * 3

28. چگونه بیش از یک عنصر را با slice جایگزین کنیم؟



lst[1:3] = [20,30]

29. چگونه بررسی کنیم لیست خالی است؟



not lst

30. چگونه آخرین عنصر را با مقدار جدید جایگزین کنیم؟



lst[-1] = 100


---
---

۳۱–۴۰: مرتب‌سازی و معکوس کردن

31. چگونه لیست را صعودی مرتب کنیم؟



lst.sort()

32. چگونه لیست را نزولی مرتب کنیم؟



lst.sort(reverse=True)

33. چگونه لیست را بدون تغییر اصلی مرتب کنیم؟



sorted(lst)

34. چگونه لیست را معکوس کنیم (in-place)?



lst.reverse()

35. چگونه لیست از رشته‌ها را به ترتیب حروفی مرتب کنیم؟



lst = ["banana","apple","cherry"]; lst.sort()

36. چگونه طول هر رشته در لیست را مرتب کنیم؟



lst.sort(key=len)

37. چگونه لیست اعداد را بر اساس مقدار مطلق مرتب کنیم؟



lst.sort(key=abs)

38. چگونه بیشترین مقدار لیست را پیدا کنیم؟



max(lst)

39. چگونه کمترین مقدار لیست را پیدا کنیم؟



min(lst)

40. چگونه مجموع مقادیر لیست را بدست آوریم؟



sum(lst)


---

۴۱–۵۰: پیمایش و شرط‌ها

41. چگونه همه عناصر بزرگ‌تر از ۵ را پیدا کنیم؟



[x for x in lst if x>5]

42. چگونه همه عناصر زوج را پیدا کنیم؟



[x for x in lst if x%2==0]

43. چگونه همه عناصر فرد را پیدا کنیم؟



[x for x in lst if x%2!=0]

44. چگونه همه عناصر بزرگ‌تر از ۱۰ را حذف کنیم؟



lst = [x for x in lst if x<=10]

45. چگونه یک لیست از طول هر رشته بسازیم؟



lst = ["apple","banana"]; [len(x) for x in lst]

46. چگونه همه عناصر را با حلقه while چاپ کنیم؟



i=0
while i<len(lst):
print(lst[i])
i+=1

47. چگونه ایندکس و مقدار همه عناصر را با enumerate بدست آوریم؟



for i,x in enumerate(lst):
print(i,x)

48. چگونه تعداد تکرار هر عنصر را بشماریم؟



[x,lst.count(x)] for x in lst

49. چگونه بررسی کنیم یک مقدار در لیست هست؟



5 in lst

50. چگونه بررسی کنیم یک مقدار در لیست نیست؟



10 not in lst


---

۵۱–۶۰: ترکیب، تقسیم و کپی لیست‌ها

51. چگونه دو لیست را با + ترکیب کنیم؟



lst3 = lst1 + lst2

52. چگونه لیست را چند برابر کنیم؟



lst2 = lst*3

53. چگونه یک لیست را کپی کنیم (shallow copy)?



lst2 = lst.copy()

54. چگونه یک لیست عمیق کپی کنیم (nested)?



import copy
lst2 = copy.deepcopy(lst)

55. چگونه یک لیست را با slice کپی کنیم؟



lst2 = lst[:]

56. چگونه یک لیست را تقسیم کنیم؟



lst1 = lst[:3]; lst2 = lst[3:]

57. چگونه بیش از یک عنصر را با slice جایگزین کنیم؟



lst[1:3] = [20,30]

58. چگونه لیست را در لیست دیگری قرار دهیم؟



lst2.append(lst1)

59. چگونه همه عناصر یک لیست را در یک رشته ترکیب کنیم؟



",".join(["a","b","c"])

60. چگونه رشته را به لیست تبدیل کنیم؟



list("hello")
۶۱–۷۰: لیست تو در تو (Nested Lists)

61. چگونه به عنصر داخل لیست تو در تو دسترسی پیدا کنیم؟



lst = [[1,2],[3,4]]; lst[0][1] # خروجی: 2

62. چگونه همه عناصر یک لیست تو در تو را پیمایش کنیم؟



for sub in lst:
for x in sub:
print(x)

63. چگونه طول لیست تو در تو را پیدا کنیم؟



len(lst) # تعداد لیست‌های داخلی

64. چگونه همه عناصر داخلی را به یک لیست صاف (flatten) تبدیل کنیم؟



flat = [x for sub in lst for x in sub]

65. چگونه یک عنصر به لیست داخلی اضافه کنیم؟



lst[0].append(5)

66. چگونه یک لیست داخلی را حذف کنیم؟



del lst[1]

67. چگونه همه لیست‌های داخلی را چاپ کنیم؟



for sub in lst:
print(sub)

68. چگونه بررسی کنیم یک عنصر در لیست تو در تو وجود دارد؟



any(3 in sub for sub in lst)

69. چگونه لیست داخلی را جایگزین کنیم؟



lst[0] = [10,20]

70. چگونه بیشترین مقدار در لیست تو در تو پیدا کنیم؟



max(max(sub) for sub in lst)


---

۷۱–۸۰: متدهای کاربردی لیست

71. چگونه append کنیم؟



lst.append(10) # اضافه کردن یک عنصر در انتها

72. چگونه extend کنیم؟



lst.extend([20,30]) # اضافه کردن چند عنصر

73. چگونه insert کنیم؟



lst.insert(1,15) # اضافه کردن در ایندکس مشخص

74. چگونه remove کنیم؟



lst.remove(20) # حذف اولین تکرار عنصر

75. چگونه pop کنیم؟



lst.pop() # حذف آخرین عنصر
lst.pop(1) # حذف عنصر در ایندکس 1

76. چگونه clear کنیم؟



lst.clear() # حذف همه عناصر

77. چگونه index پیدا کنیم؟



lst.index(15) # ایندکس اولین تکرار عنصر

78. چگونه count کنیم؟



lst.count(10) # تعداد تکرار عنصر

79. چگونه sort کنیم؟



lst.sort() # مرتب‌سازی صعودی

80. چگونه reverse کنیم؟



lst.reverse() # معکوس کردن لیست


---

۸۱–۹۰: لیست و حلقه‌ها، شرط‌ها و درک لیست (List Comprehension)

81. چگونه همه عناصر بزرگ‌تر از ۵ را پیدا کنیم؟



[x for x in lst if x>5]

82. چگونه همه عناصر زوج را پیدا کنیم؟



[x for x in lst if x%2==0]

83. چگونه همه عناصر را به توان ۲ برسانیم؟



[x**2 for x in lst]

84. چگونه لیست از رشته‌ها را به حروف بزرگ تبدیل کنیم؟



[x.upper() for x in lst]

85. چگونه لیست از رشته‌ها با طول بیش از ۳ بسازیم؟



[x for x in lst if len(x)>3]

86. چگونه از enumerate استفاده کنیم؟



for i,x in enumerate(lst):
print(i,x)

87. چگونه همه عناصر منفی را فیلتر کنیم؟



[x for x in lst if x<0]

88. چگونه از حلقه while همه عناصر را چاپ کنیم؟



i=0
while i<len(lst):
print(lst[i])
i+=1

89. چگونه بررسی کنیم لیست خالی است؟



not lst

90. چگونه بیشترین مقدار در لیست پیدا کنیم؟



max(lst)


---

۹۱–۱۰۰: تمرینات کاربردی و ترکیبی

91. چگونه کمترین مقدار در لیست پیدا کنیم؟



min(lst)

92. چگونه مجموع همه مقادیر لیست را بدست آوریم؟



sum(lst)

93. چگونه طول هر رشته در لیست بسازیم؟



[len(x) for x in lst]

94. چگونه همه عناصر را معکوس کنیم؟



lst[::-1]

95. چگونه دو لیست را با zip ترکیب کنیم؟



lst1 = [1,2]; lst2 = ["a","b"]; list(zip(lst1,lst2))

96. چگونه همه عناصر مشترک دو لیست را پیدا کنیم؟



[x for x in lst1 if x in lst2]

97. چگونه همه عناصر غیرمشترک دو لیست را پیدا کنیم؟



[x for x in lst1 if x not in lst2]

98. چگونه یک لیست را در لیست دیگری کپی کنیم؟



lst2 = lst1[:]

99. چگونه لیست را به رشته تبدیل کنیم؟



",".join([str(x) for x in lst])

100. چگونه رشته را به لیست تبدیل کنیم؟



list("hello")


---

با این ۱۰۰ سوال و جواب، فصل List به طور کامل از پایه تا پیشرفته، شامل متدها، پیمایش، شرط، لیست تو در تو و درک لیست، پوشش داده شد.
فصل بعدی Tuple (تاپل‌ها) است.

---

فصل Tuple – ۱۰۰ سوال با جواب و توضیح


---

۱–۱۰: معرفی Tuple

1. Tuple چیست؟
مجموعه‌ای از عناصر که قابل تغییر نیستند (immutable) و با () تعریف می‌شوند.


2. چگونه یک Tuple بسازیم؟



t = (1,2,3)

3. چگونه Tuple با یک عنصر بسازیم؟



t = (5,)

4. چگونه Tuple را چاپ کنیم؟



print(t)

5. چگونه طول Tuple را بدست آوریم؟



len(t)

6. چگونه نوع داده Tuple را بررسی کنیم؟



type(t)

7. چگونه بررسی کنیم یک مقدار در Tuple هست؟



5 in t

8. چگونه بررسی کنیم یک مقدار در Tuple نیست؟



10 not in t

9. چگونه همه عناصر Tuple را با حلقه for پیمایش کنیم؟



for x in t:
print(x)

10. چگونه همه عناصر Tuple را با while پیمایش کنیم؟



i=0
while i<len(t):
print(t[i])
i+=1


---

۱۱–۲۰: دسترسی به عناصر Tuple

11. چگونه به اولین عنصر Tuple دسترسی پیدا کنیم؟



t[0]

12. چگونه به آخرین عنصر Tuple دسترسی پیدا کنیم؟



t[-1]

13. چگونه با slice بخشی از Tuple را برداریم؟



t[1:3]

14. چگونه Tuple را معکوس کنیم؟



t[::-1]

15. چگونه همه عناصر Tuple تکراری را پیدا کنیم؟



t.count(5)

16. چگونه ایندکس یک عنصر را پیدا کنیم؟



t.index(3)

17. چگونه Tuple تو در تو را بسازیم؟



t = (1, (2,3), 4)

18. چگونه به عنصر داخل Tuple تو در تو دسترسی پیدا کنیم؟



t[1][0]

19. چگونه طول Tuple تو در تو را بدست آوریم؟



len(t)

20. چگونه همه عناصر داخلی Tuple تو در تو را پیمایش کنیم؟



for sub in t:
if isinstance(sub, tuple):
for x in sub:
print(x)


---

۲۱–۳۰: عملیات پایه‌ای با Tuple

21. چگونه دو Tuple را ترکیب کنیم؟



t1 + t2

22. چگونه Tuple را چند برابر کنیم؟



t*3

23. چگونه بیشترین مقدار Tuple را پیدا کنیم؟



max(t)

24. چگونه کمترین مقدار Tuple را پیدا کنیم؟



min(t)

25. چگونه مجموع عناصر عددی Tuple را بدست آوریم؟



sum(t)

26. چگونه تعداد تکرار یک عنصر را در Tuple بدست آوریم؟



t.count(2)

27. چگونه ایندکس اولین تکرار عنصر را پیدا کنیم؟



t.index(3)

28. چگونه بررسی کنیم Tuple خالی است؟



not t

29. چگونه بررسی کنیم یک مقدار در Tuple هست یا نه؟



5 in t

30. چگونه تعداد کل عناصر Tuple را با len بدست آوریم؟



len(t)


---

۳۱–۴۰: Tuple و حلقه‌ها

31. چگونه همه عناصر Tuple را با for چاپ کنیم؟



for x in t:
print(x)

32. چگونه همه عناصر Tuple را با while چاپ کنیم؟



i=0
while i<len(t):
print(t[i])
i+=1

33. چگونه همه عناصر Tuple را با enumerate چاپ کنیم؟



for i,x in enumerate(t):
print(i,x)

34. چگونه همه عناصر عددی Tuple بزرگ‌تر از ۵ را چاپ کنیم؟



for x in t:
if x>5:
print(x)

35. چگونه همه عناصر زوج Tuple را چاپ کنیم؟



for x in t:
if x%2==0:
print(x)

36. چگونه همه عناصر فرد Tuple را چاپ کنیم؟



for x in t:
if x%2!=0:
print(x)

37. چگونه همه عناصر منفی Tuple را چاپ کنیم؟



for x in t:
if x<0:
print(x)

38. چگونه همه عناصر مثبت Tuple را چاپ کنیم؟



for x in t:
if x>0:
print(x)

39. چگونه تمام عناصر Tuple را در یک خط چاپ کنیم؟



print(*t)

40. چگونه تمام عناصر Tuple را در یک لیست بریزیم؟



list(t)
۴۱–۵۰: Tuple و تبدیل‌ها

41. چگونه لیست را به Tuple تبدیل کنیم؟



lst = [1,2,3]; tuple(lst)

42. چگونه رشته را به Tuple تبدیل کنیم؟



s = "hello"; tuple(s) # ('h','e','l','l','o')

43. چگونه Tuple را به لیست تبدیل کنیم؟



list(t)

44. چگونه Tuple را به رشته تبدیل کنیم؟



"".join(map(str,t))

45. چگونه Tuple تو در تو را به یک Tuple صاف تبدیل کنیم؟



nested = (1,(2,3)); flat = (nested[0], *nested[1])

46. چگونه Tuple را به Dictionary کلید-مقدار تبدیل کنیم؟



t = (("a",1),("b",2)); dict(t)

47. چگونه Tuple را در reverse تبدیل کنیم؟



t[::-1]

48. چگونه عناصر تکراری Tuple را حذف کنیم؟



tuple(set(t))

49. چگونه Tuple را در Tuple دیگر جستجو کنیم؟



(2,3) in ((1,2),(2,3))

50. چگونه بررسی کنیم Tuple شامل Tuple تو در توست؟



any(isinstance(x, tuple) for x in t)


---

۵۱–۶۰: Tuple و متدها و ویژگی‌ها

51. Tuple متد append ندارد – چرا؟
چون immutable است و تغییرپذیر نیست.


52. چگونه مقدار Tuple را تغییر دهیم؟
باید Tuple را به لیست تبدیل کرده، تغییر دهیم و دوباره Tuple بسازیم:



t = (1,2,3); lst = list(t); lst[0]=10; t = tuple(lst)

53. چگونه دو Tuple را جمع کنیم؟



(1,2) + (3,4) # (1,2,3,4)

54. چگونه Tuple را چند برابر کنیم؟



(1,2)*3 # (1,2,1,2,1,2)

55. چگونه بررسی کنیم Tuple شامل عدد مشخص است؟



5 in t

56. چگونه بررسی کنیم Tuple خالی است؟



not t

57. چگونه طول Tuple را بدست آوریم؟



len(t)

58. چگونه بیشترین مقدار Tuple را پیدا کنیم؟



max(t)

59. چگونه کمترین مقدار Tuple را پیدا کنیم؟



min(t)

60. چگونه مجموع عناصر Tuple را بدست آوریم؟



sum(t)


---

۶۱–۷۰: Tuple و حلقه‌ها و شرط‌ها

61. چگونه با for همه عناصر Tuple را چاپ کنیم؟



for x in t:
print(x)

62. چگونه با while همه عناصر Tuple را چاپ کنیم؟



i=0
while i<len(t):
print(t[i])
i+=1

63. چگونه همه عناصر بزرگ‌تر از ۵ چاپ کنیم؟



for x in t:
if x>5:
print(x)

64. چگونه همه عناصر زوج را چاپ کنیم؟



for x in t:
if x%2==0:
print(x)

65. چگونه همه عناصر فرد را چاپ کنیم؟



for x in t:
if x%2!=0:
print(x)

66. چگونه با enumerate ایندکس و مقدار را چاپ کنیم؟



for i,x in enumerate(t):
print(i,x)

67. چگونه بررسی کنیم همه عناصر عددی هستند؟



all(isinstance(x,int) for x in t)

68. چگونه بررسی کنیم حداقل یک عنصر زوج است؟



any(x%2==0 for x in t)

69. چگونه همه عناصر مثبت هستند؟



all(x>0 for x in t)

70. چگونه عناصر منفی را چاپ کنیم؟



for x in t:
if x<0:
print(x)


---

۷۱–۸۰: Tuple و ترکیب با لیست و رشته

71. چگونه لیست و Tuple را ترکیب کنیم؟



list(t) + [4,5]

72. چگونه Tuple و Tuple را ترکیب کنیم؟



t + (4,5)

73. چگونه رشته را به Tuple تبدیل کنیم؟



tuple("hello") # ('h','e','l','l','o')

74. چگونه Tuple را به رشته تبدیل کنیم؟



"".join(map(str,t))

75. چگونه Tuple تو در تو را به لیست صاف تبدیل کنیم؟



nested = (1,(2,3)); flat = [nested[0], *nested[1]]

76. چگونه Tuple را در reverse چاپ کنیم؟



t[::-1]

77. چگونه عناصر مشترک دو Tuple را پیدا کنیم؟



tuple(x for x in t1 if x in t2)

78. چگونه عناصر غیرمشترک دو Tuple را پیدا کنیم؟



tuple(x for x in t1 if x not in t2)

79. چگونه Tuple را به set تبدیل کنیم؟



set(t)

80. چگونه عناصر تکراری Tuple را حذف کنیم؟



tuple(set(t))
۸۱–۹۰: Tuple و توابع کاربردی

81. چگونه تابع max روی Tuple اعمال کنیم؟



max(t)

82. چگونه تابع min روی Tuple اعمال کنیم؟



min(t)

83. چگونه تابع sum روی Tuple اعمال کنیم؟



sum(t)

84. چگونه تابع len روی Tuple اعمال کنیم؟



len(t)

85. چگونه بررسی کنیم Tuple خالی است؟



not t

86. چگونه بررسی کنیم Tuple شامل عدد مشخص است؟



5 in t

87. چگونه ایندکس اولین تکرار عنصر را پیدا کنیم؟



t.index(3)

88. چگونه تعداد تکرار یک عنصر را بدست آوریم؟



t.count(2)

89. چگونه Tuple تو در تو را بررسی کنیم که شامل Tuple دیگر است یا نه؟



any(isinstance(x, tuple) for x in t)

90. چگونه بررسی کنیم همه عناصر Tuple عددی هستند؟



all(isinstance(x,int) for x in t)


---

۹۱–۱۰۰: تمرین‌های پیشرفته و کاربردی

91. چگونه Tuple را بر اساس ایندکس عناصر sort کنیم؟



sorted(t) # فقط برای مقادیر عددی

92. چگونه Tuple را به لیست sort شده تبدیل کنیم؟



sorted(list(t))

93. چگونه بزرگ‌ترین دو عنصر Tuple را پیدا کنیم؟



sorted(t)[-2:]

94. چگونه کوچک‌ترین دو عنصر Tuple را پیدا کنیم؟



sorted(t)[:2]

95. چگونه Tuple تو در تو را flatten کنیم؟



t = (1,(2,3)); flat = (t[0], *t[1])

96. چگونه Tuple را به reverse List تبدیل کنیم؟



list(t)[::-1]

97. چگونه همه عناصر Tuple را در یک خط چاپ کنیم؟



print(*t)

98. چگونه Tuple شامل رشته‌ها را به یک رشته واحد تبدیل کنیم؟



t = ('h','e','l','l','o'); "".join(t)

99. چگونه همه عناصر Tuple عددی را ضرب کنیم؟



import math; math.prod(t)

100. چگونه Tuple را با استفاده از unpacking به چند متغیر اختصاص دهیم؟



a,b,c = (1,2,3)
فصل بعدی Dictionary (دایره‌المعارف یا فرهنگ‌نامه پایتون) است.
---

فصل Dictionary – ۱۰۰ سوال با جواب و توضیح


---

۱–۱۰: معرفی Dictionary

1. Dictionary چیست؟
مجموعه‌ای از زوج‌های کلید-مقدار که با {} تعریف می‌شود و ترتیب ندارد.


2. چگونه یک Dictionary بسازیم؟



d = {"name":"Ali", "age":25}

3. چگونه یک Dictionary خالی بسازیم؟



d = {}

4. چگونه یک کلید جدید اضافه کنیم؟



d["city"] = "Tehran"

5. چگونه مقدار یک کلید را تغییر دهیم؟



d["age"] = 26

6. چگونه مقدار یک کلید را بخوانیم؟



d["name"]

7. چگونه مقدار یک کلید را با get بخوانیم؟



d.get("name")

8. چگونه بررسی کنیم یک کلید در Dictionary هست؟



"name" in d

9. چگونه بررسی کنیم یک کلید در Dictionary نیست؟



"salary" not in d

10. چگونه طول Dictionary را بدست آوریم؟



len(d)


---

۱۱–۲۰: دسترسی و حذف عناصر

11. چگونه همه کلیدهای Dictionary را بدست آوریم؟



d.keys()

12. چگونه همه مقادیر Dictionary را بدست آوریم؟



d.values()

13. چگونه همه کلید-مقدارها را بدست آوریم؟



d.items()

14. چگونه یک کلید را حذف کنیم؟



del d["age"]

15. چگونه یک کلید را با pop حذف و مقدار آن را دریافت کنیم؟



d.pop("name")

16. چگونه آخرین کلید-مقدار را حذف کنیم؟



d.popitem()

17. چگونه Dictionary را خالی کنیم؟



d.clear()

18. چگونه همه کلیدها را در یک لیست بریزیم؟



list(d.keys())

19. چگونه همه مقادیر را در یک لیست بریزیم؟



list(d.values())

20. چگونه همه کلید-مقدارها را در یک لیست از tuple بریزیم؟



list(d.items())


---

۲۱–۳۰: عملیات پایه‌ای با Dictionary

21. چگونه Dictionary را با update بروزرسانی کنیم؟



d.update({"age":30, "city":"Mashhad"})

22. چگونه دو Dictionary را ترکیب کنیم؟



d1 = {"a":1}; d2 = {"b":2}; d1.update(d2)

23. چگونه Dictionary را کپی کنیم؟



d_copy = d.copy()

24. چگونه بررسی کنیم Dictionary خالی است؟



not d

25. چگونه بررسی کنیم یک مقدار در Dictionary وجود دارد؟



25 in d.values()

26. چگونه همه کلیدها را با حلقه for پیمایش کنیم؟



for key in d:
print(key)

27. چگونه همه مقادیر را با حلقه for پیمایش کنیم؟



for value in d.values():
print(value)

28. چگونه همه کلید-مقدارها را با حلقه for پیمایش کنیم؟



for key, value in d.items():
print(key, value)

29. چگونه یک Dictionary تو در تو بسازیم؟



d = {"person":{"name":"Ali","age":25}}

30. چگونه به مقدار داخل Dictionary تو در تو دسترسی پیدا کنیم؟



d["person"]["name"]


---

۳۱–۴۰: Dictionary و متدهای کاربردی

31. چگونه مقدار کلید را با setdefault دریافت یا اضافه کنیم؟



d.setdefault("country","Iran")

32. چگونه کلیدهای مشابه در Dictionary را بروزرسانی کنیم؟



d.update({"age":30})

33. چگونه Dictionary را با comprehension بسازیم؟



squares = {x:x*x for x in range(5)}

34. چگونه Dictionary را معکوس کنیم (کلید-مقدار جایگزین شود)؟



{v:k for k,v in d.items()}

35. چگونه بررسی کنیم همه مقادیر عددی هستند؟



all(isinstance(v,int) for v in d.values())

36. چگونه بررسی کنیم حداقل یک مقدار عددی است؟



any(isinstance(v,int) for v in d.values())

37. چگونه همه مقادیر را به رشته تبدیل کنیم؟



{k:str(v) for k,v in d.items()}

38. چگونه همه کلیدها را به حروف بزرگ تبدیل کنیم؟



{k.upper():v for k,v in d.items()}

39. چگونه یک Dictionary را sort کنیم؟



dict(sorted(d.items()))

40. چگونه Dictionary را بر اساس مقدار sort کنیم؟



dict(sorted(d.items(), key=lambda item: item[1]))


---

۴۱–۵۰: حلقه‌ها و شرط‌ها با Dictionary

41. چگونه کلیدهای با مقدار خاص را پیدا کنیم؟



[k for k,v in d.items() if v==25]

42. چگونه مقادیر بزرگ‌تر از عدد خاص را پیدا کنیم؟



[v for v in d.values() if v>10]

43. چگونه کلیدهایی که شامل حرف خاص هستند پیدا کنیم؟



[k for k in d.keys() if "a" in k]

44. چگونه همه مقادیر عددی را جمع کنیم؟



sum(v for v in d.values() if isinstance(v,int))

45. چگونه همه کلیدها را چاپ کنیم؟



for k in d:
print(k)

46. چگونه همه مقادیر را چاپ کنیم؟



for v in d.values():
print(v)

47. چگونه همه کلید-مقدارها را چاپ کنیم؟



for k,v in d.items():
print(k,v)

48. چگونه بررسی کنیم Dictionary خالی است؟



if not d:
print("Empty")

49. چگونه بررسی کنیم یک کلید خاص وجود دارد؟



if "name" in d:
print("Exists")

50. چگونه بررسی کنیم یک مقدار خاص وجود دارد؟



if 25 in d.values():
print("Exists")


---
۵۱–۶۰: تغییر و حذف پیشرفته

51. چگونه یک کلید را فقط در صورت وجود حذف کنیم؟



d.pop("age", None)

52. چگونه یک کلید و مقدار را از Dictionary حذف کنیم و مقدار آن را دریافت کنیم؟



value = d.pop("name")

53. چگونه آخرین آیتم Dictionary را حذف کنیم؟



d.popitem()

54. چگونه همه آیتم‌ها را حذف کنیم؟



d.clear()

55. چگونه یک کلید جدید فقط در صورت عدم وجود اضافه کنیم؟



d.setdefault("city", "Tehran")

56. چگونه Dictionary را با متغیر دیگر ترکیب کنیم؟



d.update({"country":"Iran"})

57. چگونه Dictionary تو در تو بسازیم؟



d = {"person":{"name":"Ali","age":25}}

58. چگونه به مقدار Dictionary تو در تو دسترسی پیدا کنیم؟



d["person"]["name"]

59. چگونه کلیدهای Dictionary را به لیست تبدیل کنیم؟



list(d.keys())

60. چگونه مقادیر Dictionary را به لیست تبدیل کنیم؟



list(d.values())


---

۶۱–۷۰: عملیات پیشرفته و محاسبات

61. چگونه Dictionary را معکوس کنیم (کلید و مقدار جا به جا شود)؟



{k:v for v,k in d.items()} # اشتباه، باید دقت شود: {v:k for k,v in d.items()}

62. چگونه بزرگترین مقدار Dictionary را پیدا کنیم؟



max(d.values())

63. چگونه کوچکترین مقدار Dictionary را پیدا کنیم؟



min(d.values())

64. چگونه تعداد آیتم‌های Dictionary را بدست آوریم؟



len(d)

65. چگونه بررسی کنیم همه مقادیر عددی هستند؟



all(isinstance(v,int) for v in d.values())

66. چگونه حداقل یک مقدار عددی بررسی کنیم؟



any(isinstance(v,int) for v in d.values())

67. چگونه مقادیر عددی Dictionary را جمع کنیم؟



sum(v for v in d.values() if isinstance(v,int))

68. چگونه مقادیر عددی Dictionary را ضرب کنیم؟



import math; math.prod(v for v in d.values() if isinstance(v,int))

69. چگونه Dictionary را بر اساس کلیدها مرتب کنیم؟



dict(sorted(d.items()))

70. چگونه Dictionary را بر اساس مقادیر مرتب کنیم؟



dict(sorted(d.items(), key=lambda item: item[1]))


---

۷۱–۸۰: پیمایش و comprehension

71. چگونه کلیدها را با حلقه for چاپ کنیم؟



for k in d:
print(k)

72. چگونه مقادیر را با حلقه for چاپ کنیم؟



for v in d.values():
print(v)

73. چگونه کلید-مقدارها را با حلقه for چاپ کنیم؟



for k,v in d.items():
print(k,v)

74. چگونه کلیدهای با مقدار خاص را پیدا کنیم؟



[k for k,v in d.items() if v==25]

75. چگونه مقادیر بزرگتر از عدد خاص را پیدا کنیم؟



[v for v in d.values() if v>10]

76. چگونه کلیدهایی که شامل حرف خاص هستند پیدا کنیم؟



[k for k in d.keys() if "a" in k]

77. چگونه همه مقادیر عددی را جمع کنیم؟



sum(v for v in d.values() if isinstance(v,int))

78. چگونه همه کلیدها را چاپ کنیم؟



for k in d:
print(k)

79. چگونه همه مقادیر را چاپ کنیم؟



for v in d.values():
print(v)

80. چگونه همه کلید-مقدارها را چاپ کنیم؟



for k,v in d.items():
print(k,v)


---

۸۱–۹۰: روش‌های کاربردی و ترکیبی

81. چگونه Dictionary را با comprehension بسازیم؟



squares = {x:x*x for x in range(5)}

82. چگونه Dictionary را فیلتر کنیم (مقادیر بزرگتر از 10)



{k:v for k,v in d.items() if v>10}

83. چگونه همه مقادیر را به رشته تبدیل کنیم؟



{k:str(v) for k,v in d.items()}

84. چگونه همه کلیدها را به حروف بزرگ تبدیل کنیم؟



{k.upper():v for k,v in d.items()}

85. چگونه بررسی کنیم Dictionary خالی است؟



not d

86. چگونه بررسی کنیم یک کلید وجود دارد؟



"name" in d

87. چگونه بررسی کنیم یک مقدار وجود دارد؟



25 in d.values()

88. چگونه یک Dictionary تو در تو بسازیم؟



d = {"person":{"name":"Ali","age":25}}

89. چگونه به مقدار Dictionary تو در تو دسترسی پیدا کنیم؟



d["person"]["name"]

90. چگونه Dictionary را با update بروزرسانی کنیم؟



d.update({"age":30})


---

۹۱–۱۰۰: تمرین‌های نهایی و پیشرفته

91. چگونه دو Dictionary را با هم ادغام کنیم؟



d1 = {"a":1}; d2 = {"b":2}; d3 = {d1, d2}

92. چگونه کلیدهای Dictionary را در یک رشته جداگانه چاپ کنیم؟



print(", ".join(d.keys()))

93. چگونه مقادیر Dictionary را به لیست جداگانه تبدیل کنیم؟



list(d.values())

94. چگونه Dictionary را معکوس کنیم و کلید-مقدار را جا به جا کنیم؟



{k:v for v,k in d.items()} # باید درست: {v:k for k,v in d.items()}

95. چگونه بررسی کنیم همه مقادیر عددی هستند؟



all(isinstance(v,int) for v in d.values())

96. چگونه حداقل یک مقدار عددی وجود دارد؟



any(isinstance(v,int) for v in d.values())

97. چگونه Dictionary را با comprehension مقداردهی شرطی کنیم؟
{k:v*2 for k,v in d.items() if v>10}

98. چگونه Dictionary را sort بر اساس طول کلید کنیم؟



dict(sorted(d.items(), key=lambda item: len(item[0])))

99. چگونه Dictionary را sort بر اساس طول مقدار (اگر رشته است) کنیم؟



dict(sorted(d.items(), key=lambda item: len(str(item[1]))))

100. چگونه همه مقادیر Dictionary را با map به عدد تبدیل کنیم (در صورت امکان)



d = {k:int(v) for k,v in d.items()}


---
فصل بعدی شرط‌ها و تصمیم‌گیری‌ها (If statements) است.

۱۰۰ سوال فصل If statements

مفاهیم پایه

شرط چیست؟
جواب: عبارتی که True یا False برمی‌گرداند.

if در پایتون چه کار می‌کند؟
جواب: اگر شرط True باشد، بلاک کد داخلش اجرا می‌شود.

else چیست؟
جواب: بلاک کدی که وقتی شرط if False باشد اجرا می‌شود.

elif چیست؟
جواب: برای بررسی شرط‌های دیگر پس از if.

شرط ترکیبی چیست؟
جواب: شرطی که با and، or، not ترکیب شده است.

عملگرهای مقایسه‌ای

== چیست؟
جواب: بررسی برابری دو مقدار.

!= چیست؟
جواب: بررسی نابرابری دو مقدار.

چیست؟
جواب: بررسی بزرگ‌تر بودن.

< چیست؟
جواب: بررسی کوچک‌تر بودن.

= چیست؟
جواب: بررسی بزرگ‌تر یا مساوی بودن.

<= چیست؟
جواب: بررسی کوچک‌تر یا مساوی بودن.

عملگرهای منطقی

and چیست؟
جواب: True اگر هر دو شرط True باشند.

or چیست؟
جواب: True اگر یکی از شرط‌ها True باشد.

not چیست؟
جواب: معکوس نتیجه شرط.

ساختار if ساده

یک if ساده بنویسید.
جواب:

if x > 0: print("مثبت است")

if … else

if … else چه تفاوتی با if ساده دارد؟
جواب: else وقتی شرط False است اجرا می‌شود.

مثال if … else بنویسید.
جواب:

if x % 2 == 0: print("زوج") else: print("فرد")

if … elif … else

elif چه کاربردی دارد؟
جواب: برای بررسی چند شرط متوالی.

مثال if … elif … else بنویسید.
جواب:

if x > 0: print("مثبت") elif x < 0: print("منفی") else: print("صفر")

شرط در یک خط (ternary)

ternary operator چیست؟
جواب: شرط کوتاه در یک خط.

مثال ternary بنویسید.
جواب:

result = "مثبت" if x > 0 else "غیر مثبت"

تو در تویی if

if تو در تو چیست؟
جواب: قراردادن یک if داخل if دیگر.

مثال if تو در تویی.
جواب:

if x > 0: if x < 10: print("بین ۰ و ۱۰")

بررسی چند شرط با and

مثال استفاده از and.
جواب:

if x > 0 and x < 10: print("بین ۰ و ۱۰")

بررسی چند شرط با or

مثال استفاده از or.
جواب:

if x < 0 or x > 100: print("خارج از محدوده")

استفاده از not

مثال استفاده از not.
جواب:

if not x > 0: print("منفی یا صفر")

مقایسه رشته‌ها

بررسی رشته با if.
جواب:

if name == "Ali": print("سلام علی")

مقایسه رشته و عدد

مقایسه رشته و عدد؟
جواب: باید نوع داده‌ها یکسان باشند، در غیر این صورت خطا می‌دهد.

شرط چندگانه

مثال چند شرط با and و or.
جواب:

if x > 0 and (x < 5 or x > 10): print("شرط پیچیده")

شرط با لیست

بررسی عضو بودن در لیست.
جواب:

if item in my_list: print("وجود دارد")

شرط با not in

بررسی عضو نبودن در لیست.
جواب:

if item not in my_list: print("وجود ندارد")

تابع و if

استفاده از if داخل تابع.
جواب:

def check_num(x): if x > 0: return "مثبت" else: return "منفی یا صفر"

مقایسه boolean

اگر x True باشد، چگونه بررسی می‌کنیم؟
جواب:

if x: print("True است")

بررسی False

اگر x False باشد، چگونه بررسی می‌کنیم؟
جواب:

if not x: print("False است")

استفاده از is

is چیست؟
جواب: بررسی هم‌هویتی دو شی (نه فقط برابری).

مثال استفاده از is.
جواب:

if a is b: print("a و b یکی هستند")

if و حلقه

استفاده از if در حلقه for.
جواب:

for x in range(5): if x % 2 == 0: print(x)

استفاده از if در while.
جواب:

x = 0 while x < 5: if x == 3: break x += 1

شرط و مقدار پیش‌فرض

مثال شرط با مقدار پیش‌فرض.
جواب:

x = None if x is None: print("مقدار ندارد")

شرط و input

مثال استفاده از input و if.
جواب:

age = int(input("سن شما؟ ")) if age >= 18: print("بالغ")

شرط و نوع داده

بررسی نوع داده با if
جواب:

if isinstance(x, int): print("عدد صحیح است")

بررسی رشته
جواب:

if isinstance(name, str): print("رشته است")

مقایسه چند شرط با elif

مثال elif با سه حالت
جواب:

if x > 0: print("مثبت") elif x < 0: print("منفی") else: print("صفر")

elif با شرایط منطقی
جواب:

if x > 0 and x < 10: print("بین ۰ و ۱۰") elif x >= 10: print("۱۰ یا بیشتر")

شرط تو در تو

if تو در تو با else
جواب:

if x > 0: if x % 2 == 0: print("مثبت و زوج") else: print("مثبت و فرد")

تو در تو با elif
جواب:

if x >= 0: if x == 0: print("صفر") else: print("مثبت") else: print("منفی")

شرط با لیست و عضویت

بررسی وجود عنصر در لیست
جواب:

fruits = ["سیب", "پرتقال"] if "سیب" in fruits: print("وجود دارد")

بررسی نبود عنصر در لیست
جواب:

if "موز" not in fruits: print("موجود نیست")

شرط با رشته

بررسی شروع رشته
جواب:

name = "Ali" if name.startswith("A"): print("با A شروع می‌شود")

بررسی پایان رشته
جواب:

if name.endswith("i"): print("با i پایان می‌یابد")

بررسی وجود کاراکتر در رشته
جواب:
if "l" in name: print("کاراکتر l وجود دارد")

شرط با عدد

بررسی عدد مثبت
جواب:

if x > 0: print("مثبت")

بررسی عدد منفی
جواب:

if x < 0: print("منفی")

بررسی صفر بودن
جواب:

if x == 0: print("صفر")

ترکیب شرط مثبت و زوج بودن
جواب:

if x > 0 and x % 2 == 0: print("مثبت و زوج")

شرط در یک خط (ternary)

مثال ساده
جواب:

status = "بالغ" if age >= 18 else "غیر بالغ"

ternary پیچیده
جواب:

category = "کوچک" if x < 10 else "متوسط" if x < 20 else "بزرگ"

شرط با Boolean

بررسی True
جواب:

flag = True if flag: print("True است")

بررسی False
جواب:

flag = False if not flag: print("False است")

استفاده از is و is not

بررسی هم‌هویتی
جواب:

if a is b: print("یکی هستند")

بررسی عدم هم‌هویتی
جواب:

if a is not b: print("یکی نیستند")

شرط و حلقه‌ها

if داخل حلقه for
جواب:

for x in range(5): if x % 2 == 0: print(x)

if داخل while
جواب:

x = 0 while x < 5: if x == 3: break x += 1

continue با if
جواب:

for i in range(5): if i == 2: continue print(i)

else در حلقه با if
جواب:

for i in range(3): print(i) else: print("پایان حلقه")

شرط و تابع

شرط در تابع
جواب:

def check_num(x): if x > 0: return "مثبت" else: return "منفی یا صفر"

شرط چندگانه در تابع
جواب:

def grade(score): if score >= 90: return "عالی" elif score >= 75: return "خوب" else: return "نیاز به تلاش"

شرط و ورودی کاربر

بررسی سن
جواب:

age = int(input("سن شما؟ ")) if age >= 18: print("بالغ") else: print("غیر بالغ")

شرط و مقدار None

بررسی None
جواب:

x = None if x is None: print("مقدار ندارد")

شرط و عملگرهای ترکیبی

شرط با and و or
جواب:

if x > 0 and (x < 5 or x > 10): print("شرط پیچیده")

شرط با not
جواب:

if not x > 0: print("منفی یا صفر")

شرط با ترکیب رشته و عدد
جواب:

if len(name) > 3 and age > 18: print("بررسی موفق")

شرط با لیست و حلقه

73. بررسی وجود عدد زوج در لیست
جواب:



numbers = [1, 3, 4, 7]
for n in numbers:
if n % 2 == 0:
print(f"{n} زوج است")

74. بررسی همه عناصر مثبت
جواب:



numbers = [1, 2, 3]
if all(n > 0 for n in numbers):
print("همه مثبت هستند")

75. بررسی حداقل یک عنصر منفی
جواب:



numbers = [1, -2, 3]
if any(n < 0 for n in numbers):
print("حداقل یک عدد منفی است")

شرط و رشته

76. بررسی طول رشته
جواب:



text = "Python"
if len(text) > 5:
print("طول بیشتر از ۵")

77. بررسی حروف بزرگ در رشته
جواب:



if text.isupper():
print("تمام حروف بزرگ")
else:
print("تمام حروف بزرگ نیست")

78. بررسی تمام حروف کوچک
جواب:



if text.islower():
print("تمام حروف کوچک")

79. بررسی عدد بودن رشته
جواب:



num_str = "123"
if num_str.isdigit():
print("اعداد است")

80. بررسی الفبایی بودن رشته
جواب:



word = "Hello"
if word.isalpha():
print("فقط حروف دارد")

شرط با دیکشنری

81. بررسی وجود کلید در دیکشنری
جواب:



person = {"name": "Ali"}
if "name" in person:
print("کلید وجود دارد")

82. بررسی عدم وجود کلید
جواب:



if "age" not in person:
print("کلید موجود نیست")

83. شرط روی مقدار کلید
جواب:



if person.get("name") == "Ali":
print("نام علی است")

شرط با تاپل

84. بررسی مقدار در تاپل
جواب:



colors = ("red", "green", "blue")
if "red" in colors:
print("قرمز موجود است")

85. شرط ترکیبی با لیست و تاپل
جواب:



if "red" in colors and "red" in ["red", "yellow"]:
print("موجود در هر دو")

شرط با مجموعه

86. بررسی عضویت در مجموعه
جواب:



fruits_set = {"سیب", "موز"}
if "سیب" in fruits_set:
print("وجود دارد")

87. شرط با عملیات مجموعه
جواب:



a = {1,2,3}
b = {3,4}
if a & b:
print("اشتراک دارند")

شرط پیچیده

88. ترکیب چند شرط با and, or, not
جواب:



x = 10
y = 5
if (x > y and y > 0) or not x == 0:
print("شرط درست است")

89. استفاده از شرط داخل لیست comprehension
جواب:



numbers = [1,2,3,4]
evens = [n for n in numbers if n % 2 == 0]
print(evens)

90. شرط با break و continue در حلقه
جواب:



for i in range(5):
if i == 2:
continue
if i == 4:
break
print(i)

شرط با ورودی کاربر پیشرفته

91. بررسی سن و جنسیت
جواب:



age = int(input("سن: "))
gender = input("جنسیت: ")
if age >= 18 and gender == "زن":
print("بالغ و زن")

92. شرط با تبدیل داده ورودی
جواب:



x = input("عدد: ")
if int(x) > 0:
print("مثبت")

شرط با مقایسه چندگانه

93. مقایسه متوالی
جواب:
if 0 < x < 10:
print("بین ۰ و ۱۰")

94. شرط با not در چندگانه
جواب:



if not (x < 0 or x > 10):
print("بین ۰ و ۱۰")

شرط با مقدارهای Boolean

95. ترکیب چند پرچم
جواب:



a = True
b = False
if a and not b:
print("شرط درست است")

96. شرط با مقدار محاسبه شده
جواب:



result = (x > 5)
if result:
print("بزرگتر از ۵")

شرط و شرط کوتاه (Inline)

97. استفاده در print
جواب:



print("مثبت" if x > 0 else "منفی یا صفر")

98. شرط با تابع
جواب:



def check(n): return "زوج" if n % 2 == 0 else "فرد"
print(check(7))

شرط با assert

99. استفاده از assert برای بررسی
جواب:



x = 10
assert x > 0, "عدد باید مثبت باشد"

100. ترکیب assert و شرط
جواب:



y = -5
assert y >= 0, "عدد منفی است"


---

با این ۱۰۰ سوال و جواب، فصل If statements به طور کامل پوشش داده شد.