您所在的位置:首页 - 百科 - 正文百科
编写递归函数
格云 04-19 【百科】 841人已围观
摘要编程中的递归例题编程中的递归例题问题描述:计算一个非负整数的阶乘。deffactorial(n):ifn==0:return1else:returnn*factorial(n-1)#调用函数计算5的阶
编程中的递归例题
问题描述:计算一个非负整数的阶乘。
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n1)
调用函数计算5的阶乘
result = factorial(5)
print(result)
问题描述:输出斐波那契数列的第n个数字。
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n1) fibonacci(n2)
输出斐波那契数列的第8个数字(从0开始)
result = fibonacci(8)
print(result)
问题描述:计算文件夹及其子文件夹中所有文件的总大小。
import os
def get_folder_size(path):
total_size = 0
for dirpath, dirnames, filenames in os.walk(path):
for filename in filenames:
file_path = os.path.join(dirpath, filename)
total_size = os.path.getsize(file_path)
return total_size
计算指定路径下文件夹的总大小
folder_path = "C:/Users/User/Documents"
total_size = get_folder_size(folder_path)
print(total_size)
问题描述:实现二叉树的前序遍历、中序遍历和后序遍历。
class TreeNode:
def __init__(self, value=0, left=None, right=None):
self.value = value
self.left = left
self.right = right
def preorder_traversal(node):
if node:
print(node.value)
preorder_traversal(node.left)
preorder_traversal(node.right)
def inorder_traversal(node):
if node:
inorder_traversal(node.left)
print(node.value)
inorder_traversal(node.right)
def postorder_traversal(node):
if node:
postorder_traversal(node.left)
postorder_traversal(node.right)
print(node.value)
创建二叉树并进行遍历
root = TreeNode(1)
root.left = TreeNode(2)
root.right = TreeNode(3)
root.left.left = TreeNode(4)
root.left.right = TreeNode(5)
print("Preorder Traversal:")
preorder_traversal(root)
print("Inorder Traversal:")
inorder_traversal(root)
print("Postorder Traversal:")
postorder_traversal(root)