diff --git a/diy1.py b/diy1.py
new file mode 100644
index 0000000..523425d
--- /dev/null
+++ b/diy1.py
@@ -0,0 +1,18 @@
+#一个函数在内部直接或间接调用函数本身,我们把这种情况称为递归。
+
+#递归的过程分为两步:
+#将问题一层一层的传递下去,叫做递;
+#到达最后一层后(边界),利用最后一层的答案,将问题一步步解决,这个过程叫做归。
+
+#递归做累加 1+2+3+4+……+num
+
+def sum_number(num):
+    #递归的边界(出口)
+    if num == 1:
+        return 1
+    else:
+        temp = num + sum_number(num-1)
+        return temp
+
+result = sum_number(999)
+print(result)
\ No newline at end of file
diff --git a/diy2.py b/diy2.py
new file mode 100644
index 0000000..dbb0686
--- /dev/null
+++ b/diy2.py
@@ -0,0 +1,13 @@
+#请计算出第几列斐波那契数列会大于20
+
+def func(n):
+    if n<=2:
+        return 1
+    else:
+        value = func(n-1) + func(n-2)
+        return value
+
+for i in range(0,20):
+    if func(i) > 20:
+        print('第',i,'列斐波那契数列会大于20')
+        break
\ No newline at end of file
diff --git a/diy3.py b/diy3.py
new file mode 100644
index 0000000..2ab00c0
--- /dev/null
+++ b/diy3.py
@@ -0,0 +1,16 @@
+#求阶乘  1*2*3*4****n    n * n-1 * n-2 * n-3 * …… * 1
+
+#找出阶乘值大于等于600的数
+
+def func(n):
+    if n == 1:
+        return 1
+    else:
+        value = n * func(n-1)
+        return value
+
+for i in range(1,20):
+    if func(i) >= 600:
+        print(i)
+        break
+
diff --git a/diy4.py b/diy4.py
new file mode 100644
index 0000000..3f9749f
--- /dev/null
+++ b/diy4.py
@@ -0,0 +1,7 @@
+def power(x,y):
+    if y == 0:
+        return 1
+    else:
+        return x * power(x,y-1)
+
+print(power(2,3))
\ No newline at end of file