Python 关于函数的使用
发布时间
阅读量:
阅读量
一、学习目标
1.掌握函数定义和调用。
2.掌握函数形参与实参的使用。
3.熟练掌握lambda表达式使用。
二、相关练习
1.建立自定义函数实现计算圆的面积和球的体积。
def Count(radius):
area = 3.14*radius**2
volume = (4/3)*3.14*radius**3
print('圆的面积为:{}'.format(area))
print('球的体积为:{}'.format(volume))
radius = float(input('请输入半径:'))
Count(radius)

2.建立自定义函数求小于1000的斐波那契数列。
def Fibonacci(n):
if n==1 or n==2 :
return 1
else:
return (Fibonacci(n-1)+Fibonacci(n-2))
n = int(input('请输入一个小于1000的数(以计算斐波那列数列):'))
if n>1000 or n<1:
print('请在规定范围内输入!!!')
else:
for i in range(1,n+1):
print(Fibonacci(i),end=' ')
3.建立自定义阶乘函数,求n!。

import functools
def factorial(n):
if n==0 or n==1:
return 1
else:
return (n*factorial(n-1))
n = int(input('请输入n:'))
print('n! = ',factorial(n))
#用lambda表达式:print(functools.reduce(lambda x,y:x*y,range(1,n+1)))

- 创建一个用于模拟猜数字游戏的函数。系统会生成一个小于100的随机数,并向玩家提供最多5次猜测的机会。每次猜测后, 系统都会给出是否正确或数值偏高还是偏低的提示信息, 并鼓励玩家基于这些反馈来优化自己的猜测策略。
#模拟猜数游戏.py
import random
x = random.randint(0,100)#系统随机产生一个小于100的数;
#函数:根据玩家的猜测进行提示
def imply(n,flag):
if n<x:
print('猜小了!!你还有{0:}次机会\n'.format(flag))
if n>x:
print('猜大了!!你还有{0:}次机会\n'.format(flag))
if flag == 0:
print('游戏失败,系统随机所产生的数为:{0:}'.format(x))
print('欢迎进入猜数小游戏')
flag = 5 #记录所猜测的次数
while flag>0:
flag = flag - 1
n = int(input('请输入你所猜测的数:'))
if n == x:
print('猜对了!!!游戏成功!!!')
break
else:
imply(n,flag)


5.基于递归函数设计的方案能够有效解决汉诺塔问题。该方案通过将n个按从小到大的顺序依次排列的圆盘从起始柱子a移动至目标柱子c上,并借助临时存放区域b来完成移动过程。
def Hanoi(n,a,b,c):
if n==1:
print('{}->{}'.format(a,c))
else:
#a经过c移动到b
Hanoi(n-1,a,c,b)
#a直接移动到c
Hanoi(1,a,b,c)
#b经过a移动到c
Hanoi(n-1,b,a,c)
n = int(input('请输入n的值:'))
Hanoi(n,'A','B','C')

三、总结
经过此次练习,熟练地习得了函数的定义与调用。
深入地了解了递归的概念。
学习如何利用lambda表达式计算阶乘。
精确地区分函数形式参数与实参的区别,并掌握它们之间的关系。
全部评论 (0)
还没有任何评论哟~
