۴۱–۵۰: 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))
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)
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")
---
---
فصل 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 مقداردهی شرطی کنیم؟
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()}
---
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 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 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 به طور کامل پوشش داده شد.
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 به طور کامل پوشش داده شد.
۱۰۰ سوال فصل حلقهها (Loops) با جواب و مثال کد کامل ارائه میشود.
فصل حلقهها (Loops) – 100 سوال با جواب
---
بخش ۱: حلقه for ساده (سوال 1–20)
1. چاپ اعداد از 1 تا 5
for i in range(1, 6):
print(i)
جواب: 1 2 3 4 5
2. چاپ عناصر لیست [‘a’, ‘b’, ‘c’]
letters = ['a','b','c']
for l in letters:
print(l)
جواب: a b c
3. چاپ اعداد زوج بین 1 تا 10
for i in range(2,11,2):
print(i)
جواب: 2 4 6 8 10
4. جمع اعداد 1 تا 10 با حلقه for
total = 0
for i in range(1,11):
total += i
print(total)
جواب: 55
5. چاپ عناصر رشته “Python”
for ch in "Python":
print(ch)
جواب: P y t h o n
6. چاپ اعداد 5 تا 1 به صورت معکوس
for i in range(5,0,-1):
print(i)
جواب: 5 4 3 2 1
7. استفاده از enumerate برای چاپ ایندکس و مقدار
fruits = ['apple','banana','cherry']
for idx, val in enumerate(fruits):
print(idx, val)
جواب: 0 apple, 1 banana, 2 cherry
8. چاپ مربع اعداد 1 تا 5
for i in range(1,6):
print(i*i)
جواب: 1 4 9 16 25
9. چاپ کاراکترهای بزرگ رشته
for ch in "python":
print(ch.upper())
جواب: P Y T H O N
10. چاپ عناصر یک لیست با فاصله کاما
nums = [1,2,3]
for n in nums:
print(n, end=',')
جواب: 1,2,3,
11. ایجاد لیست اعداد 0 تا 9 با for
lst = []
for i in range(10):
lst.append(i)
print(lst)
جواب: [0,1,2,3,4,5,6,7,8,9]
12. چاپ حروف هر کلمه در لیست
words = ['hi','ok']
for w in words:
for ch in w:
print(ch)
جواب: h i o k
13. استفاده از range با شروع و پایان دلخواه
for i in range(3,8):
print(i)
جواب: 3 4 5 6 7
14. چاپ عناصر لیست به همراه اندیس
nums = [10,20,30]
for i in range(len(nums)):
print(i, nums[i])
جواب: 0 10, 1 20, 2 30
15. حلقه با شرط داخل for
for i in range(1,11):
if i%2==0:
print(i)
جواب: 2 4 6 8 10
16. چاپ عناصر لیست معکوس
lst = [1,2,3]
for i in reversed(lst):
print(i)
جواب: 3 2 1
17. استفاده از pass در حلقه
for i in range(3):
pass
print("Done")
جواب: Done
18. چاپ فقط حروف غیرعدد از رشته
s = "a1b2c3"
for ch in s:
if ch.isalpha():
print(ch)
جواب: a b c
19. حلقه با شرط else
for i in range(3):
print(i)
else:
print("Loop finished")
جواب: 0 1 2 Loop finished
20. چاپ هر دوم عنصر لیست
lst = [1,2,3,4,5]
for i in lst[::2]:
print(i)
جواب: 1 3 5
---
بخش ۲: حلقه while ساده (سوال 21–40)
21. چاپ اعداد 1 تا 5 با while
i=1
while i<=5:
print(i)
i+=1
جواب: 1 2 3 4 5
22. جمع اعداد 1 تا 10 با while
i=1
total=0
while i<=10:
total += i
i+=1
print(total)
جواب: 55
23. ورودی کاربر تا عدد صحیح وارد شود
num = 0
while num<=0:
num = int(input("Enter positive: "))
جواب: کاربر تا وارد کردن عدد مثبت حلقه ادامه میدهد
24. چاپ عناصر لیست با while
lst = ['a','b','c']
i=0
while i<len(lst):
print(lst[i])
i+=1
جواب: a b c
25. چاپ اعداد زوج 2 تا 10
i=2
while i<=10:
print(i)
i+=2
جواب: 2 4 6 8 10
26. حلقه while با شرط break
i=1
while True:
print(i)
if i==5:
break
i+=1
جواب: 1 2 3 4 5
27. چاپ کاراکترهای رشته با while
s="abc"
i=0
while i<len(s):
print(s[i])
i+=1
جواب: a b c
28. شمارش تعداد حروف در رشته
s="hello"
i=0
count=0
while i<len(s):
count+=1
i+=1
print(count)
جواب: 5
29. چاپ مربع اعداد 1 تا 5
i=1
while i<=5:
print(i*i)
i+=1
جواب: 1 4 9 16 25
30. حلقه while با else
i=0
while i<3:
print(i)
i+=1
else:
print("Done")
جواب: 0 1 2 Done
31. جمع عناصر لیست با while
lst=[1,2,3]
i=0
total=0
while i<len(lst):
total+=lst[i]
i+=1
print(total)
جواب: 6
32. حلقه while برای چاپ کاراکترهای بزرگ رشته
s="abc"
i=0
while i<len(s):
print(s[i].upper())
i+=1
جواب: A B C
33. چاپ اعداد 10 تا 1 معکوس
i=10
while i>0:
print(i)
i-=1
جواب: 10 9 8 7 6 5 4 3 2 1
34. حلقه while برای حذف صفرها از لیست
lst=[0,1,0,2]
while 0 in lst:
lst.remove(0)
print(lst)
جواب: [1,2]
35. چاپ عناصر زوج لیست با while
lst=[1,2,3,4,5]
i=0
while i<len(lst):
if lst[i]%2==0:
print(lst[i])
i+=1
جواب: 2 4
36. شمارش کاراکترهای خاص با while
فصل حلقهها (Loops) – 100 سوال با جواب
---
بخش ۱: حلقه for ساده (سوال 1–20)
1. چاپ اعداد از 1 تا 5
for i in range(1, 6):
print(i)
جواب: 1 2 3 4 5
2. چاپ عناصر لیست [‘a’, ‘b’, ‘c’]
letters = ['a','b','c']
for l in letters:
print(l)
جواب: a b c
3. چاپ اعداد زوج بین 1 تا 10
for i in range(2,11,2):
print(i)
جواب: 2 4 6 8 10
4. جمع اعداد 1 تا 10 با حلقه for
total = 0
for i in range(1,11):
total += i
print(total)
جواب: 55
5. چاپ عناصر رشته “Python”
for ch in "Python":
print(ch)
جواب: P y t h o n
6. چاپ اعداد 5 تا 1 به صورت معکوس
for i in range(5,0,-1):
print(i)
جواب: 5 4 3 2 1
7. استفاده از enumerate برای چاپ ایندکس و مقدار
fruits = ['apple','banana','cherry']
for idx, val in enumerate(fruits):
print(idx, val)
جواب: 0 apple, 1 banana, 2 cherry
8. چاپ مربع اعداد 1 تا 5
for i in range(1,6):
print(i*i)
جواب: 1 4 9 16 25
9. چاپ کاراکترهای بزرگ رشته
for ch in "python":
print(ch.upper())
جواب: P Y T H O N
10. چاپ عناصر یک لیست با فاصله کاما
nums = [1,2,3]
for n in nums:
print(n, end=',')
جواب: 1,2,3,
11. ایجاد لیست اعداد 0 تا 9 با for
lst = []
for i in range(10):
lst.append(i)
print(lst)
جواب: [0,1,2,3,4,5,6,7,8,9]
12. چاپ حروف هر کلمه در لیست
words = ['hi','ok']
for w in words:
for ch in w:
print(ch)
جواب: h i o k
13. استفاده از range با شروع و پایان دلخواه
for i in range(3,8):
print(i)
جواب: 3 4 5 6 7
14. چاپ عناصر لیست به همراه اندیس
nums = [10,20,30]
for i in range(len(nums)):
print(i, nums[i])
جواب: 0 10, 1 20, 2 30
15. حلقه با شرط داخل for
for i in range(1,11):
if i%2==0:
print(i)
جواب: 2 4 6 8 10
16. چاپ عناصر لیست معکوس
lst = [1,2,3]
for i in reversed(lst):
print(i)
جواب: 3 2 1
17. استفاده از pass در حلقه
for i in range(3):
pass
print("Done")
جواب: Done
18. چاپ فقط حروف غیرعدد از رشته
s = "a1b2c3"
for ch in s:
if ch.isalpha():
print(ch)
جواب: a b c
19. حلقه با شرط else
for i in range(3):
print(i)
else:
print("Loop finished")
جواب: 0 1 2 Loop finished
20. چاپ هر دوم عنصر لیست
lst = [1,2,3,4,5]
for i in lst[::2]:
print(i)
جواب: 1 3 5
---
بخش ۲: حلقه while ساده (سوال 21–40)
21. چاپ اعداد 1 تا 5 با while
i=1
while i<=5:
print(i)
i+=1
جواب: 1 2 3 4 5
22. جمع اعداد 1 تا 10 با while
i=1
total=0
while i<=10:
total += i
i+=1
print(total)
جواب: 55
23. ورودی کاربر تا عدد صحیح وارد شود
num = 0
while num<=0:
num = int(input("Enter positive: "))
جواب: کاربر تا وارد کردن عدد مثبت حلقه ادامه میدهد
24. چاپ عناصر لیست با while
lst = ['a','b','c']
i=0
while i<len(lst):
print(lst[i])
i+=1
جواب: a b c
25. چاپ اعداد زوج 2 تا 10
i=2
while i<=10:
print(i)
i+=2
جواب: 2 4 6 8 10
26. حلقه while با شرط break
i=1
while True:
print(i)
if i==5:
break
i+=1
جواب: 1 2 3 4 5
27. چاپ کاراکترهای رشته با while
s="abc"
i=0
while i<len(s):
print(s[i])
i+=1
جواب: a b c
28. شمارش تعداد حروف در رشته
s="hello"
i=0
count=0
while i<len(s):
count+=1
i+=1
print(count)
جواب: 5
29. چاپ مربع اعداد 1 تا 5
i=1
while i<=5:
print(i*i)
i+=1
جواب: 1 4 9 16 25
30. حلقه while با else
i=0
while i<3:
print(i)
i+=1
else:
print("Done")
جواب: 0 1 2 Done
31. جمع عناصر لیست با while
lst=[1,2,3]
i=0
total=0
while i<len(lst):
total+=lst[i]
i+=1
print(total)
جواب: 6
32. حلقه while برای چاپ کاراکترهای بزرگ رشته
s="abc"
i=0
while i<len(s):
print(s[i].upper())
i+=1
جواب: A B C
33. چاپ اعداد 10 تا 1 معکوس
i=10
while i>0:
print(i)
i-=1
جواب: 10 9 8 7 6 5 4 3 2 1
34. حلقه while برای حذف صفرها از لیست
lst=[0,1,0,2]
while 0 in lst:
lst.remove(0)
print(lst)
جواب: [1,2]
35. چاپ عناصر زوج لیست با while
lst=[1,2,3,4,5]
i=0
while i<len(lst):
if lst[i]%2==0:
print(lst[i])
i+=1
جواب: 2 4
36. شمارش کاراکترهای خاص با while
s="a1b2"
i=0
count=0
while i<len(s):
if s[i].isdigit():
count+=1
i+=1
print(count)
جواب: 2
37. ورودی عدد تا برابر 5 وارد شود
n=0
while n!=5:
n=int(input("Enter 5: "))
جواب: کاربر تا وارد کردن 5 حلقه ادامه میدهد
38. چاپ اعداد مضرب 3 کمتر از 20
i=3
while i<20:
print(i)
i+=3
جواب: 3 6 9 12 15 18
39. حلقه while با continue
i=0
while i<5:
i+=1
if i==3:
continue
print(i)
جواب: 1 2 4 5
40. حلقه while با شرط ترکیبی
i=1
while i<=10 and i!=7:
print(i)
i+=1
جواب: 1 2 3 4 5 6
---
i=0
count=0
while i<len(s):
if s[i].isdigit():
count+=1
i+=1
print(count)
جواب: 2
37. ورودی عدد تا برابر 5 وارد شود
n=0
while n!=5:
n=int(input("Enter 5: "))
جواب: کاربر تا وارد کردن 5 حلقه ادامه میدهد
38. چاپ اعداد مضرب 3 کمتر از 20
i=3
while i<20:
print(i)
i+=3
جواب: 3 6 9 12 15 18
39. حلقه while با continue
i=0
while i<5:
i+=1
if i==3:
continue
print(i)
جواب: 1 2 4 5
40. حلقه while با شرط ترکیبی
i=1
while i<=10 and i!=7:
print(i)
i+=1
جواب: 1 2 3 4 5 6
---
---
بخش ۳: break و continue (سوال 41–60)
41. حلقه for با break وقتی عدد 3 رسید
for i in range(1,6):
if i==3:
break
print(i)
جواب: 1 2
42. حلقه while با break
i=1
while i<=5:
if i==4:
break
print(i)
i+=1
جواب: 1 2 3
43. حلقه for با continue برای حذف عدد 2
for i in range(1,5):
if i==2:
continue
print(i)
جواب: 1 3 4
44. حلقه while با continue
i=0
while i<5:
i+=1
if i%2==0:
continue
print(i)
جواب: 1 3 5
45. حلقه for با break و else
for i in range(1,5):
if i==3:
break
print(i)
else:
print("Loop finished")
جواب: 1 2
46. حلقه for با continue و else
for i in range(1,5):
if i==3:
continue
print(i)
else:
print("Done")
جواب: 1 2 4 Done
47. حلقه while با break و else
i=0
while i<5:
print(i)
if i==3:
break
i+=1
else:
print("Finished")
جواب: 0 1 2 3
48. حلقه while با continue و else
i=0
while i<5:
i+=1
if i==2:
continue
print(i)
else:
print("Done")
جواب: 1 3 4 5 Done
49. چاپ اولین عدد زوج از لیست با break
lst=[1,3,4,5]
for n in lst:
if n%2==0:
print(n)
break
جواب: 4
50. چاپ همه عناصر غیر صفر با continue
lst=[0,1,0,2]
for n in lst:
if n==0:
continue
print(n)
جواب: 1 2
51. حلقه تو در تو: چاپ جدول ضرب 1 تا 3
for i in range(1,4):
for j in range(1,4):
print(i*j, end=' ')
print()
جواب:
1 2 3
2 4 6
3 6 9
52. حلقه تو در تو با شرط break
for i in range(1,4):
for j in range(1,4):
if i*j==4:
break
print(i*j, end=' ')
print()
جواب:
1 2 3
2
53. حلقه تو در تو با continue
for i in range(1,4):
for j in range(1,4):
if i*j==4:
continue
print(i*j, end=' ')
print()
جواب:
1 2 3
2 6
3 6 9
54. حلقه for روی رشته با break
for ch in "python":
if ch=='h':
break
print(ch)
جواب: p y t
55. حلقه for روی رشته با continue
for ch in "python":
if ch=='h':
continue
print(ch)
جواب: p y t o n
56. حلقه while روی رشته با break
s="abcde"
i=0
while i<len(s):
if s[i]=='c':
break
print(s[i])
i+=1
جواب: a b
57. حلقه while روی رشته با continue
s="abcde"
i=0
while i<len(s):
i+=1
if s[i-1]=='c':
continue
print(s[i-1])
جواب: a b d e
58. حلقه for روی لیست دیکشنری با break
people=[{'name':'Ali','age':20},{'name':'Sara','age':25}]
for p in people:
if p['age']>20:
break
print(p['name'])
جواب: Ali
59. حلقه for روی لیست دیکشنری با continue
people=[{'name':'Ali','age':20},{'name':'Sara','age':25}]
for p in people:
if p['age']>20:
continue
print(p['name'])
جواب: Ali
60. حلقه for روی مجموعه با break
s={1,2,3}
for n in s:
if n==2:
break
print(n)
جواب: بسته به ترتیب مجموعه، اولین عدد غیر 2 چاپ میشود
---
بخش ۴: حلقه تو در تو و ترکیبها (سوال 61–80)
61. چاپ مثلث ستاره
for i in range(1,6):
for j in range(i):
print('*', end='')
print()
جواب:
*
**
---
---
---
62. چاپ مربع اعداد با nested loops
for i in range(1,4):
for j in range(1,4):
print(j*i, end=' ')
print()
جواب: مشابه سوال 51
63. حلقه تو در تو برای جمع عناصر دو لیست
a=[1,2]
b=[10,20]
for i in a:
for j in b:
print(i+j)
جواب: 11 21 12 22
64. حلقه تو در تو برای همه ترکیبهای حروف
a=['x','y']
b=['1','2']
for i in a:
for j in b:
print(i+j)
جواب: x1 x2 y1 y2
65. حلقه تو در تو با شرط continue
for i in range(1,4):
for j in range(1,4):
if i==j:
continue
print(i,j)
جواب: 1 2 1 3 2 1 2 3 3 1 3 2
66. چاپ مستطیل ستاره با nested loop
for i in range(3):
for j in range(5):
print('*', end='')
print()
جواب: سه خط *
67. حلقه تو در تو با else
for i in range(3):
for j in range(2):
print(i,j)
else:
print("Inner done")
جواب:
0 0
0 1
Inner done
1 0
1 1
Inner done
2 0
2 1
Inner done
68. nested while loop ساده
i=1
while i<=2:
j=1
while j<=3:
print(i,j)
j+=1
i+=1
بخش ۳: break و continue (سوال 41–60)
41. حلقه for با break وقتی عدد 3 رسید
for i in range(1,6):
if i==3:
break
print(i)
جواب: 1 2
42. حلقه while با break
i=1
while i<=5:
if i==4:
break
print(i)
i+=1
جواب: 1 2 3
43. حلقه for با continue برای حذف عدد 2
for i in range(1,5):
if i==2:
continue
print(i)
جواب: 1 3 4
44. حلقه while با continue
i=0
while i<5:
i+=1
if i%2==0:
continue
print(i)
جواب: 1 3 5
45. حلقه for با break و else
for i in range(1,5):
if i==3:
break
print(i)
else:
print("Loop finished")
جواب: 1 2
46. حلقه for با continue و else
for i in range(1,5):
if i==3:
continue
print(i)
else:
print("Done")
جواب: 1 2 4 Done
47. حلقه while با break و else
i=0
while i<5:
print(i)
if i==3:
break
i+=1
else:
print("Finished")
جواب: 0 1 2 3
48. حلقه while با continue و else
i=0
while i<5:
i+=1
if i==2:
continue
print(i)
else:
print("Done")
جواب: 1 3 4 5 Done
49. چاپ اولین عدد زوج از لیست با break
lst=[1,3,4,5]
for n in lst:
if n%2==0:
print(n)
break
جواب: 4
50. چاپ همه عناصر غیر صفر با continue
lst=[0,1,0,2]
for n in lst:
if n==0:
continue
print(n)
جواب: 1 2
51. حلقه تو در تو: چاپ جدول ضرب 1 تا 3
for i in range(1,4):
for j in range(1,4):
print(i*j, end=' ')
print()
جواب:
1 2 3
2 4 6
3 6 9
52. حلقه تو در تو با شرط break
for i in range(1,4):
for j in range(1,4):
if i*j==4:
break
print(i*j, end=' ')
print()
جواب:
1 2 3
2
53. حلقه تو در تو با continue
for i in range(1,4):
for j in range(1,4):
if i*j==4:
continue
print(i*j, end=' ')
print()
جواب:
1 2 3
2 6
3 6 9
54. حلقه for روی رشته با break
for ch in "python":
if ch=='h':
break
print(ch)
جواب: p y t
55. حلقه for روی رشته با continue
for ch in "python":
if ch=='h':
continue
print(ch)
جواب: p y t o n
56. حلقه while روی رشته با break
s="abcde"
i=0
while i<len(s):
if s[i]=='c':
break
print(s[i])
i+=1
جواب: a b
57. حلقه while روی رشته با continue
s="abcde"
i=0
while i<len(s):
i+=1
if s[i-1]=='c':
continue
print(s[i-1])
جواب: a b d e
58. حلقه for روی لیست دیکشنری با break
people=[{'name':'Ali','age':20},{'name':'Sara','age':25}]
for p in people:
if p['age']>20:
break
print(p['name'])
جواب: Ali
59. حلقه for روی لیست دیکشنری با continue
people=[{'name':'Ali','age':20},{'name':'Sara','age':25}]
for p in people:
if p['age']>20:
continue
print(p['name'])
جواب: Ali
60. حلقه for روی مجموعه با break
s={1,2,3}
for n in s:
if n==2:
break
print(n)
جواب: بسته به ترتیب مجموعه، اولین عدد غیر 2 چاپ میشود
---
بخش ۴: حلقه تو در تو و ترکیبها (سوال 61–80)
61. چاپ مثلث ستاره
for i in range(1,6):
for j in range(i):
print('*', end='')
print()
جواب:
*
**
---
---
---
62. چاپ مربع اعداد با nested loops
for i in range(1,4):
for j in range(1,4):
print(j*i, end=' ')
print()
جواب: مشابه سوال 51
63. حلقه تو در تو برای جمع عناصر دو لیست
a=[1,2]
b=[10,20]
for i in a:
for j in b:
print(i+j)
جواب: 11 21 12 22
64. حلقه تو در تو برای همه ترکیبهای حروف
a=['x','y']
b=['1','2']
for i in a:
for j in b:
print(i+j)
جواب: x1 x2 y1 y2
65. حلقه تو در تو با شرط continue
for i in range(1,4):
for j in range(1,4):
if i==j:
continue
print(i,j)
جواب: 1 2 1 3 2 1 2 3 3 1 3 2
66. چاپ مستطیل ستاره با nested loop
for i in range(3):
for j in range(5):
print('*', end='')
print()
جواب: سه خط *
67. حلقه تو در تو با else
for i in range(3):
for j in range(2):
print(i,j)
else:
print("Inner done")
جواب:
0 0
0 1
Inner done
1 0
1 1
Inner done
2 0
2 1
Inner done
68. nested while loop ساده
i=1
while i<=2:
j=1
while j<=3:
print(i,j)
j+=1
i+=1
جواب: 1 1 1 2 1 3 2 1 2 2 2 3
69. چاپ اعداد مربعی با nested loops و شرط
for i in range(1,4):
for j in range(1,4):
if i==j:
continue
print(i*j)
جواب: 2 3 2 6 3 6
70. حلقه for روی دیکشنری با items
d={'a':1,'b':2}
for k,v in d.items():
print(k,v)
جواب: a 1 b 2
71. حلقه for روی دیکشنری فقط کلیدها
d={'x':5,'y':10}
for k in d:
print(k)
جواب: x y
72. حلقه for روی دیکشنری فقط مقادیر
d={'x':5,'y':10}
for v in d.values():
print(v)
69. چاپ اعداد مربعی با nested loops و شرط
for i in range(1,4):
for j in range(1,4):
if i==j:
continue
print(i*j)
جواب: 2 3 2 6 3 6
70. حلقه for روی دیکشنری با items
d={'a':1,'b':2}
for k,v in d.items():
print(k,v)
جواب: a 1 b 2
71. حلقه for روی دیکشنری فقط کلیدها
d={'x':5,'y':10}
for k in d:
print(k)
جواب: x y
72. حلقه for روی دیکشنری فقط مقادیر
d={'x':5,'y':10}
for v in d.values():
print(v)
سوال ۷۳ – حلقه for با شرط و جمع مقادیر زوج لیست
nums = [1, 2, 3, 4, 5, 6]
total = 0
for n in nums:
if n % 2 == 0:
total += n
print(total)
جواب:
12
توضیح:
حلقه for روی لیست nums میچرخد.
شرط if n % 2 == 0 مقادیر زوج را انتخاب میکند.
این مقادیر به متغیر total اضافه میشوند.
جمع اعداد زوج 2 + 4 + 6 = 12 است.
74. حلقه for روی لیست اعداد
nums = [1,2,3,4]
for n in nums:
print(n*2)
جواب: 2 4 6 8
75. حلقه while روی لیست
nums=[1,2,3]
i=0
while i<len(nums):
print(nums[i]+1)
i+=1
جواب: 2 3 4
76. حلقه for روی رشته و چاپ حروف بزرگ
s = "python"
for ch in s:
print(ch.upper())
جواب: P Y T H O N
77. حلقه while روی رشته و چاپ حروف غیر تکراری
s="hello"
i=0
seen=[]
while i<len(s):
if s[i] not in seen:
print(s[i])
seen.append(s[i])
i+=1
جواب: h e l o
78. حلقه for روی دیکشنری و چاپ کلیدهای بزرگ
d = {'a':1,'b':2}
for k in d.keys():
print(k.upper())
جواب: A B
79. حلقه for روی دیکشنری و مقادیر چند برابر
d={'x':2,'y':5}
for v in d.values():
print(v*10)
جواب: 20 50
80. حلقه for روی مجموعه با شرط
s={1,2,3,4}
for n in s:
if n%2==0:
print(n)
جواب: 2 4
81. حلقه while با شمارنده و break
i=0
while i<10:
if i==6:
break
print(i)
i+=2
جواب: 0 2 4
82. حلقه while با continue
i=0
while i<5:
i+=1
if i==3:
continue
print(i)
جواب: 1 2 4 5
83. حلقه for با enumerate روی رشته
s="abc"
for idx,ch in enumerate(s):
print(idx,ch)
جواب: 0 a 1 b 2 c
84. حلقه for با enumerate روی لیست
lst=[10,20,30]
for idx,val in enumerate(lst):
print(idx,val*2)
جواب: 0 20 1 40 2 60
85. حلقه for با zip دو لیست
a=[1,2,3]
b=[4,5,6]
for x,y in zip(a,b):
print(x+y)
جواب: 5 7 9
86. حلقه for روی رشته با شرط حروف صدادار
s="python"
for ch in s:
if ch in 'aeiou':
print(ch)
جواب: o
87. حلقه while با شمارش تعداد حروف
s="hello"
i=0
count=0
while i<len(s):
count+=1
i+=1
print(count)
جواب: 5
88. حلقه for با شرط و break روی لیست
nums=[1,3,5,4,6]
for n in nums:
if n%2==0:
print(n)
break
جواب: 4
89. حلقه for با شرط و continue روی لیست
nums=[1,2,3,4]
for n in nums:
if n%2!=0:
continue
print(n)
جواب: 2 4
90. حلقه تو در تو برای جمع ماتریس 2x2
matrix=[[1,2],[3,4]]
for row in matrix:
for val in row:
print(val)
جواب: 1 2 3 4
91. حلقه for روی لیست با شرط و else
nums=[1,2,3]
for n in nums:
print(n)
else:
print("Done")
جواب: 1 2 3 Done
92. حلقه while با شمارنده و else
i=0
while i<3:
print(i)
i+=1
else:
print("Finished")
جواب: 0 1 2 Finished
93. حلقه for روی رشته و skip حروف کوچک
s="PyThoN"
for ch in s:
if ch.islower():
continue
print(ch)
جواب: P T N
94. حلقه for روی رشته و stop روی حرف N
s="Python"
for ch in s:
if ch=="N":
break
print(ch)
جواب: P y t h o
95. حلقه while برای کاهش شمارنده تا صفر
i=5
while i>0:
print(i)
i-=1
جواب: 5 4 3 2 1
96. حلقه for با range معکوس
for i in range(5,0,-1):
print(i)
جواب: 5 4 3 2 1
97. حلقه while با شرط ترکیبی
i=0
while i<10 and i!=7:
print(i)
i+=2
جواب: 0 2 4 6
98. حلقه for روی رشته با index
s="abc"
for i in range(len(s)):
print(i,s[i])
جواب: 0 a 1 b 2 c
99. حلقه for روی دیکشنری و break
d={'a':1,'b':2}
for k,v in d.items():
if v==2:
break
print(k,v)
جواب: a 1
100. حلقه while با continue و شمارنده
i=0
while i<5:
i+=1
if i==3:
continue
print(i)
جواب: 1 2 4 5
---
nums = [1, 2, 3, 4, 5, 6]
total = 0
for n in nums:
if n % 2 == 0:
total += n
print(total)
جواب:
12
توضیح:
حلقه for روی لیست nums میچرخد.
شرط if n % 2 == 0 مقادیر زوج را انتخاب میکند.
این مقادیر به متغیر total اضافه میشوند.
جمع اعداد زوج 2 + 4 + 6 = 12 است.
74. حلقه for روی لیست اعداد
nums = [1,2,3,4]
for n in nums:
print(n*2)
جواب: 2 4 6 8
75. حلقه while روی لیست
nums=[1,2,3]
i=0
while i<len(nums):
print(nums[i]+1)
i+=1
جواب: 2 3 4
76. حلقه for روی رشته و چاپ حروف بزرگ
s = "python"
for ch in s:
print(ch.upper())
جواب: P Y T H O N
77. حلقه while روی رشته و چاپ حروف غیر تکراری
s="hello"
i=0
seen=[]
while i<len(s):
if s[i] not in seen:
print(s[i])
seen.append(s[i])
i+=1
جواب: h e l o
78. حلقه for روی دیکشنری و چاپ کلیدهای بزرگ
d = {'a':1,'b':2}
for k in d.keys():
print(k.upper())
جواب: A B
79. حلقه for روی دیکشنری و مقادیر چند برابر
d={'x':2,'y':5}
for v in d.values():
print(v*10)
جواب: 20 50
80. حلقه for روی مجموعه با شرط
s={1,2,3,4}
for n in s:
if n%2==0:
print(n)
جواب: 2 4
81. حلقه while با شمارنده و break
i=0
while i<10:
if i==6:
break
print(i)
i+=2
جواب: 0 2 4
82. حلقه while با continue
i=0
while i<5:
i+=1
if i==3:
continue
print(i)
جواب: 1 2 4 5
83. حلقه for با enumerate روی رشته
s="abc"
for idx,ch in enumerate(s):
print(idx,ch)
جواب: 0 a 1 b 2 c
84. حلقه for با enumerate روی لیست
lst=[10,20,30]
for idx,val in enumerate(lst):
print(idx,val*2)
جواب: 0 20 1 40 2 60
85. حلقه for با zip دو لیست
a=[1,2,3]
b=[4,5,6]
for x,y in zip(a,b):
print(x+y)
جواب: 5 7 9
86. حلقه for روی رشته با شرط حروف صدادار
s="python"
for ch in s:
if ch in 'aeiou':
print(ch)
جواب: o
87. حلقه while با شمارش تعداد حروف
s="hello"
i=0
count=0
while i<len(s):
count+=1
i+=1
print(count)
جواب: 5
88. حلقه for با شرط و break روی لیست
nums=[1,3,5,4,6]
for n in nums:
if n%2==0:
print(n)
break
جواب: 4
89. حلقه for با شرط و continue روی لیست
nums=[1,2,3,4]
for n in nums:
if n%2!=0:
continue
print(n)
جواب: 2 4
90. حلقه تو در تو برای جمع ماتریس 2x2
matrix=[[1,2],[3,4]]
for row in matrix:
for val in row:
print(val)
جواب: 1 2 3 4
91. حلقه for روی لیست با شرط و else
nums=[1,2,3]
for n in nums:
print(n)
else:
print("Done")
جواب: 1 2 3 Done
92. حلقه while با شمارنده و else
i=0
while i<3:
print(i)
i+=1
else:
print("Finished")
جواب: 0 1 2 Finished
93. حلقه for روی رشته و skip حروف کوچک
s="PyThoN"
for ch in s:
if ch.islower():
continue
print(ch)
جواب: P T N
94. حلقه for روی رشته و stop روی حرف N
s="Python"
for ch in s:
if ch=="N":
break
print(ch)
جواب: P y t h o
95. حلقه while برای کاهش شمارنده تا صفر
i=5
while i>0:
print(i)
i-=1
جواب: 5 4 3 2 1
96. حلقه for با range معکوس
for i in range(5,0,-1):
print(i)
جواب: 5 4 3 2 1
97. حلقه while با شرط ترکیبی
i=0
while i<10 and i!=7:
print(i)
i+=2
جواب: 0 2 4 6
98. حلقه for روی رشته با index
s="abc"
for i in range(len(s)):
print(i,s[i])
جواب: 0 a 1 b 2 c
99. حلقه for روی دیکشنری و break
d={'a':1,'b':2}
for k,v in d.items():
if v==2:
break
print(k,v)
جواب: a 1
100. حلقه while با continue و شمارنده
i=0
while i<5:
i+=1
if i==3:
continue
print(i)
جواب: 1 2 4 5
---
بخش ۳: پیشرفتهتر روی توابع (سوال 41–60)
41. تابع با آرگومان mutable و اثر آن بیرون
def add_item(lst):
lst.append(10)
mylist = [1,2]
add_item(mylist)
print(mylist)
جواب: [1,2,10]
توضیح: لیست mutable است و تغییرات داخل تابع روی لیست اصلی اعمال میشود.
42. تابع با آرگومان immutable
def increment(x):
x += 1
return x
num = 5
print(increment(num))
print(num)
جواب:
6
5
توضیح: عدد immutable است، مقدار اصلی تغییر نمیکند.
43. تابع با آرگومان string و تغییر آن
def add_text(s):
s += " world"
return s
txt = "Hello"
print(add_text(txt))
print(txt)
جواب:
Hello world
Hello
44. تابع با بازگشت چند نوع داده
def get_data():
return 1, "Ali", [1,2,3]
a,b,c = get_data()
print(a,b,c)
جواب: 1 Ali [1,2,3]
45. تابع با شرط و raise خطا
def check_positive(x):
if x<0:
raise ValueError("Negative!")
return x
print(check_positive(5))
جواب: 5
46. تابع بازگشتی ساده
def factorial(n):
if n==0:
return 1
return n*factorial(n-1)
print(factorial(5))
جواب: 120
47. تابع بازگشتی با شرط پیچیده
def fibonacci(n):
if n<=1:
return n
return fibonacci(n-1)+fibonacci(n-2)
print(fibonacci(6))
جواب: 8
48. تابع lambda ساده
f = lambda x: x*3
print(f(4))
جواب: 12
49. تابع lambda با چند آرگومان
f = lambda x,y: x+y
print(f(5,7))
جواب: 12
50. تابع lambda داخل تابع دیگر
def make_multiplier(n):
return lambda x: x*n
double = make_multiplier(2)
print(double(5))
جواب: 10
51. تابع با map و lambda
nums = [1,2,3]
result = list(map(lambda x: x**2, nums))
print(result)
جواب: [1,4,9]
52. تابع با filter و lambda
nums = [1,2,3,4]
evens = list(filter(lambda x: x%2==0, nums))
print(evens)
جواب: [2,4]
53. تابع با reduce (import functools)
from functools import reduce
nums = [1,2,3,4]
total = reduce(lambda x,y: x+y, nums)
print(total)
جواب: 10
54. تابع با list comprehension داخل تابع
def square_list(lst):
return [x**2 for x in lst]
print(square_list([1,2,3]))
جواب: [1,4,9]
55. تابع با شرط داخل list comprehension
def evens(lst):
return [x for x in lst if x%2==0]
print(evens([1,2,3,4,5]))
جواب: [2,4]
56. تابع با enumerate در list comprehension
def even_index(lst):
return [v for i,v in enumerate(lst) if i%2==0]
print(even_index([10,20,30,40]))
جواب: [10,30]
57. تابع با zip
names = ["Ali","Sara"]
ages = [25,30]
for n,a in zip(names,ages):
print(n,a)
جواب:
Ali 25
Sara 30
58. تابع با unpacking آرایه در آرگومان
def add(a,b,c):
return a+b+c
nums = [1,2,3]
print(add(*nums))
جواب: 6
59. تابع با unpacking dict در آرگومان
def describe(name, age):
print(name, age)
info = {"name":"Ali","age":25}
describe(**info)
جواب: Ali 25
60. تابع با decorator ساده
def decorator(func):
def wrapper():
print("Before")
func()
print("After")
return wrapper
@decorator
def say_hello():
print("Hello")
say_hello()
جواب:
Before
Hello
After
---
41. تابع با آرگومان mutable و اثر آن بیرون
def add_item(lst):
lst.append(10)
mylist = [1,2]
add_item(mylist)
print(mylist)
جواب: [1,2,10]
توضیح: لیست mutable است و تغییرات داخل تابع روی لیست اصلی اعمال میشود.
42. تابع با آرگومان immutable
def increment(x):
x += 1
return x
num = 5
print(increment(num))
print(num)
جواب:
6
5
توضیح: عدد immutable است، مقدار اصلی تغییر نمیکند.
43. تابع با آرگومان string و تغییر آن
def add_text(s):
s += " world"
return s
txt = "Hello"
print(add_text(txt))
print(txt)
جواب:
Hello world
Hello
44. تابع با بازگشت چند نوع داده
def get_data():
return 1, "Ali", [1,2,3]
a,b,c = get_data()
print(a,b,c)
جواب: 1 Ali [1,2,3]
45. تابع با شرط و raise خطا
def check_positive(x):
if x<0:
raise ValueError("Negative!")
return x
print(check_positive(5))
جواب: 5
46. تابع بازگشتی ساده
def factorial(n):
if n==0:
return 1
return n*factorial(n-1)
print(factorial(5))
جواب: 120
47. تابع بازگشتی با شرط پیچیده
def fibonacci(n):
if n<=1:
return n
return fibonacci(n-1)+fibonacci(n-2)
print(fibonacci(6))
جواب: 8
48. تابع lambda ساده
f = lambda x: x*3
print(f(4))
جواب: 12
49. تابع lambda با چند آرگومان
f = lambda x,y: x+y
print(f(5,7))
جواب: 12
50. تابع lambda داخل تابع دیگر
def make_multiplier(n):
return lambda x: x*n
double = make_multiplier(2)
print(double(5))
جواب: 10
51. تابع با map و lambda
nums = [1,2,3]
result = list(map(lambda x: x**2, nums))
print(result)
جواب: [1,4,9]
52. تابع با filter و lambda
nums = [1,2,3,4]
evens = list(filter(lambda x: x%2==0, nums))
print(evens)
جواب: [2,4]
53. تابع با reduce (import functools)
from functools import reduce
nums = [1,2,3,4]
total = reduce(lambda x,y: x+y, nums)
print(total)
جواب: 10
54. تابع با list comprehension داخل تابع
def square_list(lst):
return [x**2 for x in lst]
print(square_list([1,2,3]))
جواب: [1,4,9]
55. تابع با شرط داخل list comprehension
def evens(lst):
return [x for x in lst if x%2==0]
print(evens([1,2,3,4,5]))
جواب: [2,4]
56. تابع با enumerate در list comprehension
def even_index(lst):
return [v for i,v in enumerate(lst) if i%2==0]
print(even_index([10,20,30,40]))
جواب: [10,30]
57. تابع با zip
names = ["Ali","Sara"]
ages = [25,30]
for n,a in zip(names,ages):
print(n,a)
جواب:
Ali 25
Sara 30
58. تابع با unpacking آرایه در آرگومان
def add(a,b,c):
return a+b+c
nums = [1,2,3]
print(add(*nums))
جواب: 6
59. تابع با unpacking dict در آرگومان
def describe(name, age):
print(name, age)
info = {"name":"Ali","age":25}
describe(**info)
جواب: Ali 25
60. تابع با decorator ساده
def decorator(func):
def wrapper():
print("Before")
func()
print("After")
return wrapper
@decorator
def say_hello():
print("Hello")
say_hello()
جواب:
Before
Hello
After
---
بخش ۴: پیشرفته – ترکیب مفاهیم و سناریوهای پیچیده (سوال 61–80)
61. تابع بازگشتی با شرط توقف غیرساده
جواب:
62. تابع بازگشتی معکوس رشته
جواب:
cba
63. تابع با default parameter
جواب:
64. پارامتر پیشفرض mutable (خطرناک!)
جواب:
توضیح: لیست پیشفرض بین فراخوانیها مشترک است.
65. جلوگیری از مشکل بالا
جواب:
*66. تابع با args
جواب: 6
**67. تابع با kwargs
جواب:
**68. ترکیب *args و kwargs
جواب:
69. تابع بازگشتی جمع لیست
جواب: 6
70. تابع بازگشتی حداکثر در لیست
جواب: 9
71. تابع بازگشتی بررسی palindrome
جواب: True
72. تابع با inner function
جواب:
Hello from inner
73. تابع که تابع برمیگرداند
جواب: 15
74. closure با شمارنده
جواب:
75. تابع generator ساده
جواب:
76. generator با شرط
جواب: [0, 2, 4]
77. استفاده از yield from
جواب: [1, 2, 3]
78. تابع با annotation نوع داده
جواب: 5
79. تابع با docstring
جواب:
این تابع سلام میکند.
80. تابع با بازگشت تابع ناشناس
جواب: 25
61. تابع بازگشتی با شرط توقف غیرساده
def countdown(n): print(n) if n > 0: countdown(n-1) countdown(3) جواب:
3 2 1 0 62. تابع بازگشتی معکوس رشته
def reverse(s): if s == "": return "" return reverse(s[1:]) + s[0] print(reverse("abc")) جواب:
cba
63. تابع با default parameter
def greet(name="Guest"): print("Hello", name) greet() greet("Ali") جواب:
Hello Guest Hello Ali 64. پارامتر پیشفرض mutable (خطرناک!)
def add_num(num, lst=[]): lst.append(num) return lst print(add_num(1)) print(add_num(2)) جواب:
[1] [1, 2] توضیح: لیست پیشفرض بین فراخوانیها مشترک است.
65. جلوگیری از مشکل بالا
def add_num(num, lst=None): if lst is None: lst = [] lst.append(num) return lst print(add_num(1)) print(add_num(2)) جواب:
[1] [2] *66. تابع با args
def total(*numbers): return sum(numbers) print(total(1,2,3)) جواب: 6
**67. تابع با kwargs
def info(**data): for k,v in data.items(): print(k, v) info(name="Ali", age=25) جواب:
name Ali age 25 **68. ترکیب *args و kwargs
def func(*args, **kwargs): print(args) print(kwargs) func(1,2, name="Ali", age=25) جواب:
(1, 2) {'name': 'Ali', 'age': 25} 69. تابع بازگشتی جمع لیست
def sum_list(lst): if not lst: return 0 return lst[0] + sum_list(lst[1:]) print(sum_list([1,2,3])) جواب: 6
70. تابع بازگشتی حداکثر در لیست
def max_list(lst): if len(lst) == 1: return lst[0] m = max_list(lst[1:]) return m if m > lst[0] else lst[0] print(max_list([1,9,3])) جواب: 9
71. تابع بازگشتی بررسی palindrome
def is_palindrome(s): if len(s) <= 1: return True return s[0] == s[-1] and is_palindrome(s[1:-1]) print(is_palindrome("madam")) جواب: True
72. تابع با inner function
def outer(): def inner(): print("Hello from inner") inner() outer() جواب:
Hello from inner
73. تابع که تابع برمیگرداند
def make_adder(n): def adder(x): return x + n return adder add5 = make_adder(5) print(add5(10)) جواب: 15
74. closure با شمارنده
def counter(): count = 0 def inc(): nonlocal count count += 1 return count return inc c = counter() print(c()) print(c()) جواب:
1 2 75. تابع generator ساده
def gen_numbers(): yield 1 yield 2 yield 3 for n in gen_numbers(): print(n) جواب:
1 2 3 76. generator با شرط
def even_gen(n): for i in range(n): if i % 2 == 0: yield i print(list(even_gen(6))) جواب: [0, 2, 4]
77. استفاده از yield from
def sub_gen(): yield 1 yield 2 def main_gen(): yield from sub_gen() yield 3 print(list(main_gen())) جواب: [1, 2, 3]
78. تابع با annotation نوع داده
def add(x: int, y: int) -> int: return x + y print(add(2,3)) جواب: 5
79. تابع با docstring
def greet(): """این تابع سلام میکند.""" print("Hello") print(greet.__doc__) جواب:
این تابع سلام میکند.
80. تابع با بازگشت تابع ناشناس
def power(n): return lambda x: x**n square = power(2) print(square(5)) جواب: 25
بخش ۵: پیشرفته – سناریوهای خاص و نکات حرفهای (سوال 81–100)
81. تابع بازگشتی برای شمارش عناصر لیست چندلایه
def count_elements(lst):
total = 0
for i in lst:
if isinstance(i, list):
total += count_elements(i)
else:
total += 1
return total
print(count_elements([1,[2,3],[4,[5]]]))
جواب: 5
---
82. تابع با تابع کمکی (helper) داخلی
def factorial(n):
def helper(x):
if x == 0:
return 1
return x * helper(x-1)
return helper(n)
print(factorial(4))
جواب: 24
---
83. تابع که از global استفاده میکند
count = 0
def inc():
global count
count += 1
inc()
inc()
print(count)
جواب: 2
---
84. تابع با keyword-only arguments
def greet(*, name):
print("Hello", name)
greet(name="Sara")
جواب: Hello Sara
---
85. تابع با positional-only arguments (Python 3.8+)
def add(a, b, /):
return a + b
print(add(3, 4))
جواب: 7
---
86. تابع که خودش را از طریق globals صدا میزند
def call_self(n):
if n > 0:
print(n)
globals()['call_self'](n-1)
call_self(3)
جواب:
3
2
1
---
87. تابع با decorator که ورودی و خروجی را چاپ میکند
def log(func):
def wrapper(*args, **kwargs):
print("Args:", args)
result = func(*args, **kwargs)
print("Result:", result)
return result
return wrapper
@log
def add(a, b):
return a + b
add(2, 5)
جواب:
Args: (2, 5)
Result: 7
---
88. تابع با multiple decorators
def deco1(func):
def wrapper():
print("deco1 start")
func()
print("deco1 end")
return wrapper
def deco2(func):
def wrapper():
print("deco2 start")
func()
print("deco2 end")
return wrapper
@deco1
@deco2
def say_hi():
print("Hi")
say_hi()
جواب:
deco1 start
deco2 start
Hi
deco2 end
deco1 end
---
89. تابع که تابع دیگر را به عنوان پارامتر میگیرد
def execute(func):
func()
execute(lambda: print("Hello"))
جواب: Hello
---
90. تابع که چندین مقدار را با return برمیگرداند و unpack میکند
def calc(a, b):
return a+b, a*b
s, m = calc(3, 4)
print(s, m)
جواب:
7 12
---
91. تابع که با recursion عدد را به باینری تبدیل میکند
def to_binary(n):
if n == 0:
return ""
return to_binary(n // 2) + str(n % 2)
print(to_binary(5))
جواب: 101
---
92. تابع generator بینهایت
def infinite_numbers():
n = 0
while True:
yield n
n += 1
gen = infinite_numbers()
print(next(gen))
print(next(gen))
جواب:
0
1
---
93. تابع که list comprehension را برمیگرداند
def squares(n):
return [x**2 for x in range(n)]
print(squares(4))
جواب: [0, 1, 4, 9]
---
94. تابع که dict comprehension را برمیگرداند
def mapping(n):
return {x: x**2 for x in range(1, n+1)}
print(mapping(3))
جواب: {1: 1, 2: 4, 3: 9}
---
95. تابع که set comprehension را برمیگرداند
def unique_squares(lst):
return {x**2 for x in lst}
print(unique_squares([1,2,2,3]))
جواب: {1, 4, 9}
---
96. تابع با استفاده از any
def has_even(lst):
return any(x % 2 == 0 for x in lst)
print(has_even([1,3,5,8]))
جواب: True
---
97. تابع با استفاده از all
def all_positive(lst):
return all(x > 0 for x in lst)
print(all_positive([1,2,3]))
جواب: True
---
98. تابع که با recursion طول لیست را پیدا میکند
def length(lst):
if not lst:
return 0
return 1 + length(lst[1:])
print(length([1,2,3]))
جواب: 3
---
99. تابع که خودش را n بار صدا میزند
def repeat(func, n):
if n <= 0:
return
func()
repeat(func, n-1)
repeat(lambda: print("Hi"), 3)
جواب:
Hi
Hi
Hi
---
100. تابع که exception را درون خودش مدیریت میکند
def divide(a, b):
try:
return a / b
except ZeroDivisionError:
return "Cannot divide by zero"
print(divide(10, 2))
print(divide(5, 0))
جواب:
5.0
Cannot divide by zero
81. تابع بازگشتی برای شمارش عناصر لیست چندلایه
def count_elements(lst):
total = 0
for i in lst:
if isinstance(i, list):
total += count_elements(i)
else:
total += 1
return total
print(count_elements([1,[2,3],[4,[5]]]))
جواب: 5
---
82. تابع با تابع کمکی (helper) داخلی
def factorial(n):
def helper(x):
if x == 0:
return 1
return x * helper(x-1)
return helper(n)
print(factorial(4))
جواب: 24
---
83. تابع که از global استفاده میکند
count = 0
def inc():
global count
count += 1
inc()
inc()
print(count)
جواب: 2
---
84. تابع با keyword-only arguments
def greet(*, name):
print("Hello", name)
greet(name="Sara")
جواب: Hello Sara
---
85. تابع با positional-only arguments (Python 3.8+)
def add(a, b, /):
return a + b
print(add(3, 4))
جواب: 7
---
86. تابع که خودش را از طریق globals صدا میزند
def call_self(n):
if n > 0:
print(n)
globals()['call_self'](n-1)
call_self(3)
جواب:
3
2
1
---
87. تابع با decorator که ورودی و خروجی را چاپ میکند
def log(func):
def wrapper(*args, **kwargs):
print("Args:", args)
result = func(*args, **kwargs)
print("Result:", result)
return result
return wrapper
@log
def add(a, b):
return a + b
add(2, 5)
جواب:
Args: (2, 5)
Result: 7
---
88. تابع با multiple decorators
def deco1(func):
def wrapper():
print("deco1 start")
func()
print("deco1 end")
return wrapper
def deco2(func):
def wrapper():
print("deco2 start")
func()
print("deco2 end")
return wrapper
@deco1
@deco2
def say_hi():
print("Hi")
say_hi()
جواب:
deco1 start
deco2 start
Hi
deco2 end
deco1 end
---
89. تابع که تابع دیگر را به عنوان پارامتر میگیرد
def execute(func):
func()
execute(lambda: print("Hello"))
جواب: Hello
---
90. تابع که چندین مقدار را با return برمیگرداند و unpack میکند
def calc(a, b):
return a+b, a*b
s, m = calc(3, 4)
print(s, m)
جواب:
7 12
---
91. تابع که با recursion عدد را به باینری تبدیل میکند
def to_binary(n):
if n == 0:
return ""
return to_binary(n // 2) + str(n % 2)
print(to_binary(5))
جواب: 101
---
92. تابع generator بینهایت
def infinite_numbers():
n = 0
while True:
yield n
n += 1
gen = infinite_numbers()
print(next(gen))
print(next(gen))
جواب:
0
1
---
93. تابع که list comprehension را برمیگرداند
def squares(n):
return [x**2 for x in range(n)]
print(squares(4))
جواب: [0, 1, 4, 9]
---
94. تابع که dict comprehension را برمیگرداند
def mapping(n):
return {x: x**2 for x in range(1, n+1)}
print(mapping(3))
جواب: {1: 1, 2: 4, 3: 9}
---
95. تابع که set comprehension را برمیگرداند
def unique_squares(lst):
return {x**2 for x in lst}
print(unique_squares([1,2,2,3]))
جواب: {1, 4, 9}
---
96. تابع با استفاده از any
def has_even(lst):
return any(x % 2 == 0 for x in lst)
print(has_even([1,3,5,8]))
جواب: True
---
97. تابع با استفاده از all
def all_positive(lst):
return all(x > 0 for x in lst)
print(all_positive([1,2,3]))
جواب: True
---
98. تابع که با recursion طول لیست را پیدا میکند
def length(lst):
if not lst:
return 0
return 1 + length(lst[1:])
print(length([1,2,3]))
جواب: 3
---
99. تابع که خودش را n بار صدا میزند
def repeat(func, n):
if n <= 0:
return
func()
repeat(func, n-1)
repeat(lambda: print("Hi"), 3)
جواب:
Hi
Hi
Hi
---
100. تابع که exception را درون خودش مدیریت میکند
def divide(a, b):
try:
return a / b
except ZeroDivisionError:
return "Cannot divide by zero"
print(divide(10, 2))
print(divide(5, 0))
جواب:
5.0
Cannot divide by zero
فصل مدیریت فایلها
---
فصل مدیریت فایلها – ۱۰۰ سؤال
---
بخش ۱: ساده (سوال 1–20)
1. باز کردن و خواندن کل فایل
f = open("test.txt", "r")
print(f.read())
f.close()
---
2. خواندن بخشی از فایل
f = open("test.txt", "r")
print(f.read(5))
f.close()
---
3. خواندن یک خط
f = open("test.txt", "r")
print(f.readline())
f.close()
---
4. خواندن همه خطوط به صورت لیست
f = open("test.txt", "r")
print(f.readlines())
f.close()
---
5. حلقه روی خطوط فایل
f = open("test.txt", "r")
for line in f:
print(line.strip())
f.close()
---
6. نوشتن در فایل (حالت w)
f = open("new.txt", "w")
f.write("Hello World")
f.close()
---
7. اضافه کردن به فایل (حالت a)
f = open("new.txt", "a")
f.write("\nNew line")
f.close()
---
8. ایجاد فایل خالی (حالت x)
f = open("empty.txt", "x")
f.close()
---
9. استفاده از with برای خواندن
with open("test.txt", "r") as f:
print(f.read())
---
10. استفاده از with برای نوشتن
with open("new.txt", "w") as f:
f.write("Hi there")
---
11. بررسی وجود فایل با try
try:
f = open("test.txt", "r")
print(f.read())
f.close()
except FileNotFoundError:
print("File not found")
---
12. خواندن فایل باینری
with open("image.png", "rb") as f:
data = f.read()
print(type(data))
---
13. نوشتن فایل باینری
data = b"hello"
with open("data.bin", "wb") as f:
f.write(data)
---
14. تعیین encoding
with open("utf.txt", "w", encoding="utf-8") as f:
f.write("سلام")
---
15. خواندن فایل با encoding
with open("utf.txt", "r", encoding="utf-8") as f:
print(f.read())
---
16. پاک کردن محتوای فایل
open("test.txt", "w").close()
---
17. شمارش تعداد خطوط
with open("test.txt", "r") as f:
print(len(f.readlines()))
---
18. خواندن بدون خط جدید
with open("test.txt", "r") as f:
print(f.read().strip())
---
19. چک کردن writable بودن
with open("test.txt", "w") as f:
print(f.writable())
---
20. چک کردن readable بودن
with open("test.txt", "r") as f:
print(f.readable())
---
---
فصل مدیریت فایلها – ۱۰۰ سؤال
---
بخش ۱: ساده (سوال 1–20)
1. باز کردن و خواندن کل فایل
f = open("test.txt", "r")
print(f.read())
f.close()
---
2. خواندن بخشی از فایل
f = open("test.txt", "r")
print(f.read(5))
f.close()
---
3. خواندن یک خط
f = open("test.txt", "r")
print(f.readline())
f.close()
---
4. خواندن همه خطوط به صورت لیست
f = open("test.txt", "r")
print(f.readlines())
f.close()
---
5. حلقه روی خطوط فایل
f = open("test.txt", "r")
for line in f:
print(line.strip())
f.close()
---
6. نوشتن در فایل (حالت w)
f = open("new.txt", "w")
f.write("Hello World")
f.close()
---
7. اضافه کردن به فایل (حالت a)
f = open("new.txt", "a")
f.write("\nNew line")
f.close()
---
8. ایجاد فایل خالی (حالت x)
f = open("empty.txt", "x")
f.close()
---
9. استفاده از with برای خواندن
with open("test.txt", "r") as f:
print(f.read())
---
10. استفاده از with برای نوشتن
with open("new.txt", "w") as f:
f.write("Hi there")
---
11. بررسی وجود فایل با try
try:
f = open("test.txt", "r")
print(f.read())
f.close()
except FileNotFoundError:
print("File not found")
---
12. خواندن فایل باینری
with open("image.png", "rb") as f:
data = f.read()
print(type(data))
---
13. نوشتن فایل باینری
data = b"hello"
with open("data.bin", "wb") as f:
f.write(data)
---
14. تعیین encoding
with open("utf.txt", "w", encoding="utf-8") as f:
f.write("سلام")
---
15. خواندن فایل با encoding
with open("utf.txt", "r", encoding="utf-8") as f:
print(f.read())
---
16. پاک کردن محتوای فایل
open("test.txt", "w").close()
---
17. شمارش تعداد خطوط
with open("test.txt", "r") as f:
print(len(f.readlines()))
---
18. خواندن بدون خط جدید
with open("test.txt", "r") as f:
print(f.read().strip())
---
19. چک کردن writable بودن
with open("test.txt", "w") as f:
print(f.writable())
---
20. چک کردن readable بودن
with open("test.txt", "r") as f:
print(f.readable())
---
21. خواندن خط به خط با enumerate
with open("test.txt", "r") as f:
for i, line in enumerate(f, start=1):
print(i, line.strip())
---
22. نوشتن چند خط با writelines
lines = ["Line1\n", "Line2\n"]
with open("multi.txt", "w") as f:
f.writelines(lines)
---
23. خواندن و strip کردن هر خط
with open("test.txt", "r") as f:
print([line.strip() for line in f])
---
24. بررسی وجود فایل با os.path
import os
print(os.path.exists("test.txt"))
---
25. گرفتن سایز فایل
import os
print(os.path.getsize("test.txt"))
---
26. گرفتن مسیر کامل فایل
import os
print(os.path.abspath("test.txt"))
---
27. حذف فایل
import os
os.remove("test.txt")
---
28. تغییر نام فایل
import os
os.rename("old.txt", "new.txt")
---
29. کپی فایل
import shutil
shutil.copy("a.txt", "b.txt")
---
30. جابجایی فایل
import shutil
shutil.move("b.txt", "folder/b.txt")
---
31. خواندن فقط ۱۰ کاراکتر اول
with open("test.txt", "r") as f:
print(f.read(10))
---
32. رفتن به موقعیت خاص در فایل
with open("test.txt", "r") as f:
f.seek(5)
print(f.read())
---
33. گرفتن موقعیت فعلی
with open("test.txt", "r") as f:
f.read(4)
print(f.tell())
---
34. باز کردن فایل فقط خواندنی
f = open("test.txt", "rt")
print(f.mode)
f.close()
---
35. باز کردن فایل فقط نوشتنی
f = open("write.txt", "wt")
print(f.mode)
f.close()
---
36. باز کردن فایل فقط append
f = open("append.txt", "at")
print(f.mode)
f.close()
---
37. بستن خودکار با with
with open("test.txt") as f:
print(f.closed)
print(f.closed)
---
38. خواندن فایل خطبهخط و حذف خط خالی
with open("test.txt", "r") as f:
for line in f:
if line.strip():
print(line.strip())
---
39. نوشتن شماره خط قبل از محتوا
with open("test.txt", "r") as f:
lines = f.readlines()
with open("out.txt", "w") as f:
for i, line in enumerate(lines, 1):
f.write(f"{i}: {line}")
---
40. الحاق محتوا از یک فایل به فایل دیگر
with open("a.txt", "r") as f1, open("b.txt", "a") as f2:
f2.write(f1.read())
---
بخش ۳: پیشرفته (سوال 41–60)
41. کار با JSON – ذخیره
import json
data = {"name": "Ali", "age": 25}
with open("data.json", "w") as f:
json.dump(data, f)
---
42. کار با JSON – خواندن
import json
with open("data.json", "r") as f:
obj = json.load(f)
print(obj)
---
43. کار با CSV – نوشتن
import csv
rows = [["Name", "Age"], ["Ali", 25]]
with open("people.csv", "w", newline="") as f:
writer = csv.writer(f)
writer.writerows(rows)
---
44. کار با CSV – خواندن
import csv
with open("people.csv", "r") as f:
reader = csv.reader(f)
for row in reader:
print(row)
---
45. کار با Pickle – ذخیره
import pickle
data = [1, 2, 3]
with open("data.pkl", "wb") as f:
pickle.dump(data, f)
---
46. کار با Pickle – خواندن
import pickle
with open("data.pkl", "rb") as f:
obj = pickle.load(f)
print(obj)
---
47. شمارش تعداد کاراکترها در فایل
with open("test.txt", "r") as f:
print(len(f.read()))
---
48. شمارش تعداد کلمات
with open("test.txt", "r") as f:
print(len(f.read().split()))
---
49. شمارش تعداد خطوط غیرخالی
with open("test.txt", "r") as f:
print(sum(1 for line in f if line.strip()))
---
50. جستجو یک کلمه در فایل
word = "Ali"
with open("test.txt", "r") as f:
print(any(word in line for line in f))
---
51. جایگزینی متن در فایل
with open("test.txt", "r") as f:
data = f.read().replace("old", "new")
with open("test.txt", "w") as f:
f.write(data)
---
52. معکوس کردن خطوط فایل
with open("test.txt", "r") as f:
lines = f.readlines()
with open("test.txt", "w") as f:
f.writelines(lines[::-1])
---
53. نوشتن شماره خط و تعداد کاراکتر
with open("test.txt", "r") as f:
for i, line in enumerate(f, 1):
print(i, len(line.strip()))
---
54. پیدا کردن طولانیترین خط
with open("test.txt", "r") as f:
print(max(f, key=len))
---
55. حذف خطوط تکراری
with open("test.txt", "r") as f:
lines = list(dict.fromkeys(f))
with open("test.txt", "w") as f:
f.writelines(lines)
---
56. ادغام چند فایل متنی
with open("test.txt", "r") as f:
for i, line in enumerate(f, start=1):
print(i, line.strip())
---
22. نوشتن چند خط با writelines
lines = ["Line1\n", "Line2\n"]
with open("multi.txt", "w") as f:
f.writelines(lines)
---
23. خواندن و strip کردن هر خط
with open("test.txt", "r") as f:
print([line.strip() for line in f])
---
24. بررسی وجود فایل با os.path
import os
print(os.path.exists("test.txt"))
---
25. گرفتن سایز فایل
import os
print(os.path.getsize("test.txt"))
---
26. گرفتن مسیر کامل فایل
import os
print(os.path.abspath("test.txt"))
---
27. حذف فایل
import os
os.remove("test.txt")
---
28. تغییر نام فایل
import os
os.rename("old.txt", "new.txt")
---
29. کپی فایل
import shutil
shutil.copy("a.txt", "b.txt")
---
30. جابجایی فایل
import shutil
shutil.move("b.txt", "folder/b.txt")
---
31. خواندن فقط ۱۰ کاراکتر اول
with open("test.txt", "r") as f:
print(f.read(10))
---
32. رفتن به موقعیت خاص در فایل
with open("test.txt", "r") as f:
f.seek(5)
print(f.read())
---
33. گرفتن موقعیت فعلی
with open("test.txt", "r") as f:
f.read(4)
print(f.tell())
---
34. باز کردن فایل فقط خواندنی
f = open("test.txt", "rt")
print(f.mode)
f.close()
---
35. باز کردن فایل فقط نوشتنی
f = open("write.txt", "wt")
print(f.mode)
f.close()
---
36. باز کردن فایل فقط append
f = open("append.txt", "at")
print(f.mode)
f.close()
---
37. بستن خودکار با with
with open("test.txt") as f:
print(f.closed)
print(f.closed)
---
38. خواندن فایل خطبهخط و حذف خط خالی
with open("test.txt", "r") as f:
for line in f:
if line.strip():
print(line.strip())
---
39. نوشتن شماره خط قبل از محتوا
with open("test.txt", "r") as f:
lines = f.readlines()
with open("out.txt", "w") as f:
for i, line in enumerate(lines, 1):
f.write(f"{i}: {line}")
---
40. الحاق محتوا از یک فایل به فایل دیگر
with open("a.txt", "r") as f1, open("b.txt", "a") as f2:
f2.write(f1.read())
---
بخش ۳: پیشرفته (سوال 41–60)
41. کار با JSON – ذخیره
import json
data = {"name": "Ali", "age": 25}
with open("data.json", "w") as f:
json.dump(data, f)
---
42. کار با JSON – خواندن
import json
with open("data.json", "r") as f:
obj = json.load(f)
print(obj)
---
43. کار با CSV – نوشتن
import csv
rows = [["Name", "Age"], ["Ali", 25]]
with open("people.csv", "w", newline="") as f:
writer = csv.writer(f)
writer.writerows(rows)
---
44. کار با CSV – خواندن
import csv
with open("people.csv", "r") as f:
reader = csv.reader(f)
for row in reader:
print(row)
---
45. کار با Pickle – ذخیره
import pickle
data = [1, 2, 3]
with open("data.pkl", "wb") as f:
pickle.dump(data, f)
---
46. کار با Pickle – خواندن
import pickle
with open("data.pkl", "rb") as f:
obj = pickle.load(f)
print(obj)
---
47. شمارش تعداد کاراکترها در فایل
with open("test.txt", "r") as f:
print(len(f.read()))
---
48. شمارش تعداد کلمات
with open("test.txt", "r") as f:
print(len(f.read().split()))
---
49. شمارش تعداد خطوط غیرخالی
with open("test.txt", "r") as f:
print(sum(1 for line in f if line.strip()))
---
50. جستجو یک کلمه در فایل
word = "Ali"
with open("test.txt", "r") as f:
print(any(word in line for line in f))
---
51. جایگزینی متن در فایل
with open("test.txt", "r") as f:
data = f.read().replace("old", "new")
with open("test.txt", "w") as f:
f.write(data)
---
52. معکوس کردن خطوط فایل
with open("test.txt", "r") as f:
lines = f.readlines()
with open("test.txt", "w") as f:
f.writelines(lines[::-1])
---
53. نوشتن شماره خط و تعداد کاراکتر
with open("test.txt", "r") as f:
for i, line in enumerate(f, 1):
print(i, len(line.strip()))
---
54. پیدا کردن طولانیترین خط
with open("test.txt", "r") as f:
print(max(f, key=len))
---
55. حذف خطوط تکراری
with open("test.txt", "r") as f:
lines = list(dict.fromkeys(f))
with open("test.txt", "w") as f:
f.writelines(lines)
---
56. ادغام چند فایل متنی
files = ["a.txt", "b.txt"]
with open("merged.txt", "w") as out:
for file in files:
with open(file, "r") as f:
out.write(f.read() + "\n")
---
57. کپی باینری با read/write
with open("img.png", "rb") as f1, open("copy.png", "wb") as f2:
f2.write(f1.read())
---
58. نوشتن لیست در فایل با join
lst = ["a", "b", "c"]
with open("letters.txt", "w") as f:
f.write("\n".join(lst))
---
59. خواندن و تبدیل به لیست اعداد
with open("nums.txt", "r") as f:
nums = [int(x) for x in f.read().split()]
print(nums)
---
60. ساخت فایل log
with open("log.txt", "a") as f:
f.write("Event happened\n")
with open("merged.txt", "w") as out:
for file in files:
with open(file, "r") as f:
out.write(f.read() + "\n")
---
57. کپی باینری با read/write
with open("img.png", "rb") as f1, open("copy.png", "wb") as f2:
f2.write(f1.read())
---
58. نوشتن لیست در فایل با join
lst = ["a", "b", "c"]
with open("letters.txt", "w") as f:
f.write("\n".join(lst))
---
59. خواندن و تبدیل به لیست اعداد
with open("nums.txt", "r") as f:
nums = [int(x) for x in f.read().split()]
print(nums)
---
60. ساخت فایل log
with open("log.txt", "a") as f:
f.write("Event happened\n")
61. استفاده از pathlib برای خواندن فایل
from pathlib import Path
print(Path("test.txt").read_text())
---
62. استفاده از pathlib برای نوشتن فایل
from pathlib import Path
Path("hello.txt").write_text("Hello World")
---
63. بررسی وجود فایل با pathlib
from pathlib import Path
print(Path("test.txt").exists())
---
64. گرفتن پسوند فایل
from pathlib import Path
print(Path("data.csv").suffix)
---
65. گرفتن نام فایل بدون پسوند
from pathlib import Path
print(Path("data.csv").stem)
---
66. لیستکردن همه فایلهای پوشه
from pathlib import Path
for file in Path(".").iterdir():
print(file)
---
67. پیدا کردن همه فایلهای txt در پوشه
from pathlib import Path
for file in Path(".").glob("*.txt"):
print(file)
---
68. پیدا کردن فایلهای txt در همه زیرپوشهها
from pathlib import Path
for file in Path(".").rglob("*.txt"):
print(file)
---
69. تغییر نام فایل با pathlib
from pathlib import Path
Path("old.txt").rename("new.txt")
---
70. حذف فایل با pathlib
from pathlib import Path
Path("delete.txt").unlink()
---
71. خواندن فایل خطبهخط با pathlib
from pathlib import Path
for line in Path("test.txt").read_text().splitlines():
print(line)
---
72. ترکیب مسیرها با / در pathlib
from pathlib import Path
p = Path("folder") / "file.txt"
print(p)
---
73. بررسی اینکه مسیر فایل است یا پوشه
from pathlib import Path
print(Path("test.txt").is_file())
print(Path(".").is_dir())
---
74. گرفتن اندازه فایل با pathlib
from pathlib import Path
print(Path("test.txt").stat().st_size)
---
75. گرفتن تاریخ آخرین تغییر
from pathlib import Path
import datetime
time = Path("test.txt").stat().st_mtime
print(datetime.datetime.fromtimestamp(time))
---
76. خواندن و حذف فاصلهها از هر خط
with open("test.txt") as f:
print([line.strip() for line in f])
---
77. کپی فایل با pathlib + shutil
from pathlib import Path
import shutil
shutil.copy(Path("a.txt"), Path("b.txt"))
---
78. ذخیرهسازی دیکشنری به JSON با indent
import json
data = {"a": 1, "b": 2}
with open("data.json", "w") as f:
json.dump(data, f, indent=4)
---
79. خواندن فایل CSV به لیست دیکشنریها
import csv
with open("people.csv", "r") as f:
reader = csv.DictReader(f)
print(list(reader))
---
80. نوشتن لیست دیکشنریها در CSV
import csv
rows = [{"Name": "Ali", "Age": 25}, {"Name": "Sara", "Age": 30}]
with open("people.csv", "w", newline="") as f:
writer = csv.DictWriter(f, fieldnames=["Name", "Age"])
writer.writeheader()
writer.writerows(rows)
---
بخش ۵: ترکیبی و حرفهای (سوال 81–100)
81. خواندن لاگ و فیلتر خطهای دارای ERROR
with open("log.txt") as f:
for line in f:
if "ERROR" in line:
print(line.strip())
---
82. شمارش تعداد تکرار یک کلمه در فایل
word = "Python"
with open("test.txt") as f:
print(f.read().count(word))
---
83. ادغام همه فایلهای txt در یک فایل
from pathlib import Path
with open("merged.txt", "w") as out:
for file in Path(".").glob("*.txt"):
out.write(file.read_text() + "\n")
---
84. ایجاد فایل بکاپ قبل از ویرایش
import shutil
shutil.copy("data.txt", "data_backup.txt")
---
85. خواندن بزرگترین فایل در یک پوشه
from pathlib import Path
print(max(Path(".").iterdir(), key=lambda p: p.stat().st_size))
---
86. حذف همه فایلهای خالی
from pathlib import Path
for file in Path(".").glob("*"):
if file.is_file() and file.stat().st_size == 0:
file.unlink()
---
87. ذخیره متن ورودی کاربر در فایل
text = input("Enter text: ")
with open("user.txt", "w") as f:
f.write(text)
---
88. خواندن اولین n خط فایل
n = 3
with open("test.txt") as f:
for i in range(n):
print(f.readline().strip())
---
89. خواندن آخرین n خط فایل
n = 2
with open("test.txt") as f:
lines = f.readlines()
print(lines[-n:])
---
90. چک کردن دسترسی خواندن/نوشتن فایل
import os
print(os.access("test.txt", os.R_OK))
print(os.access("test.txt", os.W_OK))
---
91. نوشتن داده باینری از ورودی کاربر
data = b"12345"
with open("bin.bin", "wb") as f:
f.write(data)
---
92. خواندن فایل JSON و چاپ مقدار خاص
from pathlib import Path
print(Path("test.txt").read_text())
---
62. استفاده از pathlib برای نوشتن فایل
from pathlib import Path
Path("hello.txt").write_text("Hello World")
---
63. بررسی وجود فایل با pathlib
from pathlib import Path
print(Path("test.txt").exists())
---
64. گرفتن پسوند فایل
from pathlib import Path
print(Path("data.csv").suffix)
---
65. گرفتن نام فایل بدون پسوند
from pathlib import Path
print(Path("data.csv").stem)
---
66. لیستکردن همه فایلهای پوشه
from pathlib import Path
for file in Path(".").iterdir():
print(file)
---
67. پیدا کردن همه فایلهای txt در پوشه
from pathlib import Path
for file in Path(".").glob("*.txt"):
print(file)
---
68. پیدا کردن فایلهای txt در همه زیرپوشهها
from pathlib import Path
for file in Path(".").rglob("*.txt"):
print(file)
---
69. تغییر نام فایل با pathlib
from pathlib import Path
Path("old.txt").rename("new.txt")
---
70. حذف فایل با pathlib
from pathlib import Path
Path("delete.txt").unlink()
---
71. خواندن فایل خطبهخط با pathlib
from pathlib import Path
for line in Path("test.txt").read_text().splitlines():
print(line)
---
72. ترکیب مسیرها با / در pathlib
from pathlib import Path
p = Path("folder") / "file.txt"
print(p)
---
73. بررسی اینکه مسیر فایل است یا پوشه
from pathlib import Path
print(Path("test.txt").is_file())
print(Path(".").is_dir())
---
74. گرفتن اندازه فایل با pathlib
from pathlib import Path
print(Path("test.txt").stat().st_size)
---
75. گرفتن تاریخ آخرین تغییر
from pathlib import Path
import datetime
time = Path("test.txt").stat().st_mtime
print(datetime.datetime.fromtimestamp(time))
---
76. خواندن و حذف فاصلهها از هر خط
with open("test.txt") as f:
print([line.strip() for line in f])
---
77. کپی فایل با pathlib + shutil
from pathlib import Path
import shutil
shutil.copy(Path("a.txt"), Path("b.txt"))
---
78. ذخیرهسازی دیکشنری به JSON با indent
import json
data = {"a": 1, "b": 2}
with open("data.json", "w") as f:
json.dump(data, f, indent=4)
---
79. خواندن فایل CSV به لیست دیکشنریها
import csv
with open("people.csv", "r") as f:
reader = csv.DictReader(f)
print(list(reader))
---
80. نوشتن لیست دیکشنریها در CSV
import csv
rows = [{"Name": "Ali", "Age": 25}, {"Name": "Sara", "Age": 30}]
with open("people.csv", "w", newline="") as f:
writer = csv.DictWriter(f, fieldnames=["Name", "Age"])
writer.writeheader()
writer.writerows(rows)
---
بخش ۵: ترکیبی و حرفهای (سوال 81–100)
81. خواندن لاگ و فیلتر خطهای دارای ERROR
with open("log.txt") as f:
for line in f:
if "ERROR" in line:
print(line.strip())
---
82. شمارش تعداد تکرار یک کلمه در فایل
word = "Python"
with open("test.txt") as f:
print(f.read().count(word))
---
83. ادغام همه فایلهای txt در یک فایل
from pathlib import Path
with open("merged.txt", "w") as out:
for file in Path(".").glob("*.txt"):
out.write(file.read_text() + "\n")
---
84. ایجاد فایل بکاپ قبل از ویرایش
import shutil
shutil.copy("data.txt", "data_backup.txt")
---
85. خواندن بزرگترین فایل در یک پوشه
from pathlib import Path
print(max(Path(".").iterdir(), key=lambda p: p.stat().st_size))
---
86. حذف همه فایلهای خالی
from pathlib import Path
for file in Path(".").glob("*"):
if file.is_file() and file.stat().st_size == 0:
file.unlink()
---
87. ذخیره متن ورودی کاربر در فایل
text = input("Enter text: ")
with open("user.txt", "w") as f:
f.write(text)
---
88. خواندن اولین n خط فایل
n = 3
with open("test.txt") as f:
for i in range(n):
print(f.readline().strip())
---
89. خواندن آخرین n خط فایل
n = 2
with open("test.txt") as f:
lines = f.readlines()
print(lines[-n:])
---
90. چک کردن دسترسی خواندن/نوشتن فایل
import os
print(os.access("test.txt", os.R_OK))
print(os.access("test.txt", os.W_OK))
---
91. نوشتن داده باینری از ورودی کاربر
data = b"12345"
with open("bin.bin", "wb") as f:
f.write(data)
---
92. خواندن فایل JSON و چاپ مقدار خاص
import json
with open("data.json") as f:
data = json.load(f)
print(data["name"])
---
93. جستجو رشته در چند فایل
from pathlib import Path
for file in Path(".").glob("*.txt"):
if "Python" in file.read_text():
print(file)
---
94. پیدا کردن طولانیترین کلمه در فایل
with open("test.txt") as f:
words = f.read().split()
print(max(words, key=len))
---
95. ذخیره داده با فرمت YAML
import yaml
data = {"name": "Ali", "age": 25}
with open("data.yaml", "w") as f:
yaml.dump(data, f)
---
96. خواندن داده از YAML
import yaml
with open("data.yaml") as f:
print(yaml.safe_load(f))
---
97. تبدیل JSON به CSV
import json, csv
with open("data.json") as f:
data = json.load(f)
with open("data.csv", "w", newline="") as f:
writer = csv.writer(f)
writer.writerow(data.keys())
writer.writerow(data.values())
---
98. خواندن CSV و ذخیره در JSON
import csv, json
with open("people.csv") as f:
reader = csv.DictReader(f)
data = list(reader)
with open("people.json", "w") as f:
json.dump(data, f)
---
99. خواندن و مرتبسازی خطوط فایل
with open("test.txt") as f:
lines = sorted(f.readlines())
with open("sorted.txt", "w") as f:
f.writelines(lines)
---
100. مدیریت خطا هنگام باز کردن فایل
try:
with open("nofile.txt") as f:
print(f.read())
except FileNotFoundError:
print("File not found!")
with open("data.json") as f:
data = json.load(f)
print(data["name"])
---
93. جستجو رشته در چند فایل
from pathlib import Path
for file in Path(".").glob("*.txt"):
if "Python" in file.read_text():
print(file)
---
94. پیدا کردن طولانیترین کلمه در فایل
with open("test.txt") as f:
words = f.read().split()
print(max(words, key=len))
---
95. ذخیره داده با فرمت YAML
import yaml
data = {"name": "Ali", "age": 25}
with open("data.yaml", "w") as f:
yaml.dump(data, f)
---
96. خواندن داده از YAML
import yaml
with open("data.yaml") as f:
print(yaml.safe_load(f))
---
97. تبدیل JSON به CSV
import json, csv
with open("data.json") as f:
data = json.load(f)
with open("data.csv", "w", newline="") as f:
writer = csv.writer(f)
writer.writerow(data.keys())
writer.writerow(data.values())
---
98. خواندن CSV و ذخیره در JSON
import csv, json
with open("people.csv") as f:
reader = csv.DictReader(f)
data = list(reader)
with open("people.json", "w") as f:
json.dump(data, f)
---
99. خواندن و مرتبسازی خطوط فایل
with open("test.txt") as f:
lines = sorted(f.readlines())
with open("sorted.txt", "w") as f:
f.writelines(lines)
---
100. مدیریت خطا هنگام باز کردن فایل
try:
with open("nofile.txt") as f:
print(f.read())
except FileNotFoundError:
print("File not found!")