Python基础教程5

论坛 期权论坛 脚本     
匿名技术用户   2020-12-27 04:28   231   0

7-1 Python之什么是函数
r = [12.34,9.08,73.1]
def area_of_circle(x):
s = 3.14x**2
print s
for x in r:
area_of_circle(x)
7-2 Python之调用函数
sum()函数接受一个list作为参数,并返回list所有元素之和。请计算 1
1 + 22 + 33 + … + 100100。
L = xrange(1, 101)
print sum([i
i for i in L])
7-3 Python之编写函数
请定义一个 square_of_sum 函数,它接受一个list,返回list中每个元素平方的和。
def square_of_sum(L):
return sum([x*x for x in L])

print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])

7-4 Python函数之返回多值
一元二次方程的定义是:ax + bx + c = 0
请编写一个函数,返回一元二次方程的两个解。
注意:Python的math包提供了sqrt()函数用于计算平方根。
Import math

Def quadratic_equation(a,b,c):
de=b**2-4ac
If de>=0:
X1=(-b+math.sqrt(de))/(2a)
X2=(-b-math.sqrt(de))/(2
a)
Return x1, x2
else:
Return
Print quadratic_equation(2,3,0)
Print quadratic_equation(1,-6,5)
7-5 Python之递归函数
汉诺塔 (http://baike.baidu.com/view/191666.htm) 的移动也可以看做是递归函数。
我们对柱子编号为a, b, c,将所有圆盘从a移到c可以描述为:
如果a只有一个圆盘,可以直接移动到c;
如果a有N个圆盘,可以看成a有1个圆盘(底盘) + (N-1)个圆盘,首先需要把 (N-1) 个圆盘移动到 b,然后,将 a的最后一个圆盘移动到c,再将b的(N-1)个圆盘移动到c。
请编写一个函数,给定输入 n, a, b, c,打印出移动的步骤:
move(n, a, b, c)
例如,输入 move(2, ‘A’, ‘B’, ‘C’),打印出:
A --> B
A --> C
B --> C

#-- coding:utf-8 --
def move(n, x, y, z):
if n==1:
print x,’–>’,z
return
move(n-1,x,z,y)#将前n-1个盘子从x移动到y上
move(1,x,y,z)#将最底下的最后一个盘子从x移动到z上
move(n-1,y,x,z)#将y上的n-1个盘子移动到z上
move(4, ‘A’, ‘B’, ‘C’)

7-6 Python之定义默认参数
请定义一个 greet() 函数,它包含一个默认参数,如果没有传入,打印 ‘Hello, world.’,如果传入,打印 ‘Hello, xxx.’
def greet(name=‘world’):
print “Hello,%s.” % name

greet()
greet(‘Bart’)
7-7 Python之定义可变参数
请编写接受可变参数的 average() 函数。
def average(*args):
if len(args)!=0:
return sum(args)*1.0/len(args)
else:
return 0.0

print average()
print average(1, 2)
print average(1, 2, 2, 3, 4)

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP