# Python学习笔记(8)

Python学习笔记(8)

def main():
message()
def message():
print 'This is a recursive function.'
message()
main()

This is a recursive function.
This is a recursive function.
......
File "C:/temp/p19.py", line 5, in message
message()
RuntimeError: maximum recursion depth exceeded

Python解释器规定了递归深度，故运行到一定深度，将报错。

def main():
message(5)
def message(times):
if(times>0):
print 'This is a recursive function.'
message(times-1)
main()

This is a recursive function.
This is a recursive function.
This is a recursive function.
This is a recursive function.
This is a recursive function.

# This program uses recursion to calculate the factorial of a number.
def main():
# Get a number from the user.
number = input('Enter a nonnegative integer:')
# Get the factorial of the number.
fact = factorial(number)
# Display the factorial.
print 'The factorial of',number,'is',fact
def factorial(num):
if num == 0:
return 1
else:
return num*factorial(num-1)
main()

Enter a nonnegative integer:6
The factorial of 6 is 720

1）函数A调用函数B，函数B调用函数A
2）函数A调用函数B，函数B调用函数C，函数C调用函数A
......

# The program demonstrates the range_sum function.
def main():
numbers = [1,2,3,4,5,6,7,8,9]
my_sum = range_sum(numbers,2,5)
print 'The sum of items 2 through 5 is',my_sum
def range_sum(num_list,start,end):
if start>end:
return 0
else:
return num_list[start]+range_sum(num_list,start+1,end)
main()

The sum of items 2 through 5 is 18

def main():
num1 = input('Enter an integer:')
num2 = input('Enter another integer:')

print 'The maximum common number:', ywf(num1,num2)
def ywf(a,b):
c = 1
if a == 0:
return b
if b == 0:
return a
if a<>>   t=a; a=b; b=t
while(a != b):
if a%2 == 0 and b % 2 == 0:
a=a/2; b=b/2; c=c*2
elif a%2 == 0 and b%2 == 1:
a=a/2
elif a%2 == 1 and b%2 == 0:
b=b/2
else:
a=a-b
if a<>>   t=a; a=b; b=t
return c
main()

# The program simulates the Towers of Hanoi game.
def main():
# Set up some initial values.
num_discs = 3
from_peg = 1
to_peg = 3
temp_peg = 2
# Play the game.
move_discs(num_discs,from_peg,to_peg,temp_peg)
print 'All the pegs are moved!'
# The moveDiscs function displays a disc move in the
# Towers of Hanoi game.
# num: the number of discs to move.
# from_peg: the peg to move from
# to_peg: the peg to move to
# temp_peg: the temporary peg.
def move_discs(num,from_peg,to_peg,temp_peg):
if(num>0):
move_discs(num-1,from_peg,temp_peg,to_peg)
print 'Move a disc from peg',from_peg,'to peg',to_peg
move_discs(num-1,temp_peg,to_peg,from_peg)
main()

|
4月前
|

【Python】学习笔记day3
【Python】学习笔记day3
50 1
|
3月前
|
BI 测试技术 索引
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)-1
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)
81 0
|
4月前
|

Python函数式编程学习笔记

42 1
|
26天前
|

Python学习笔记----列表、元组和字典的基础操作

18 1
|
26天前
|
Python
Python学习笔记---函数

32 1
|
26天前
|

Python学习笔记----操作字符串

37 0
|
26天前
|
Python
python学习笔记---流程控制

22 0
|
26天前
|

python学习笔记----必备知识

7 0
|
4月前
|

132 0
|
3月前
|
Python
GitHub爆赞！终于有大佬把《Python学习手册》学习笔记分享出来了

50 3

DDNS