-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpy33.py
More file actions
45 lines (32 loc) · 1.43 KB
/
py33.py
File metadata and controls
45 lines (32 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# توابع بازگشتی
# هر تابعی که درون خودش خودش را صدا بزند
# این تابع نوعی حلقه است
# تابع باید از دو قسمت تشکیل شود(شرط برای توقف - بازگشت به تابع)
# تا زمانی که شرط ترو نباشد(از شرط رد شود)این تابع توسط خودش صدا زده شد
# نمونه
def num(D):
if(D >=10):
print('OK')
else:
return D + num(D+1)
num(3)
# اگر عدد از 10 بزرگتر یا مساوی بود => OK
# در غیر اینصورت خروجی را با خروجی همان تابع منتها به علاوه 1 انجام میدهد
# این چرخه تا زمانی تکرار خواهد شد که عدد ورودی مساوی یا بزرگتر از 10 باشد
# مکانیزم
"""
-------------------------------
return D + num(D+1) =>
return D + num(D+1)
-------------------------------
num(3)
return 3 + num(4)
return 4 + num(5)
return 5 + num(6)
return 6 + num(7)
return 7 + num(8)
return 8 + num(9)
return 9 + num(10) => return 'OK'
(33)(30)(26)(21)+(15)
num(3) => 33
"""