Python函数练习题
Posted 超凡脫俗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python函数练习题相关的知识,希望对你有一定的参考价值。
概念:
函数是实现具有特定功能的代码,python中预制了很多内置函数,开发者也可以创建自定义函数。
函数特点:1、隐藏实现功能的细节;2、重用代码;3、提高代码的可读性,便于调试;
函数的定义:
def 函数名(形式参数1,形参2,形参n):
要运行的代码(函数体)
return 输出的数据(返回值)
习题
1、定义一个函数,实现在控制台打印3遍唐诗《绝句》,并使用50个星(*)号分隔每一次打印结果
1、定义函数名为ancient_poetry的函数
2、函数体内:向控制台输出唐诗《绝句》
3、函数体内:向控制台输出50个*号分隔符
4、调用三次函数名为ancient_poetry的函数
def ancient_poetry():
print("鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。")
for i in range(0,50):
print("*",end='')
ancient_poetry()
print('')
ancient_poetry()
print('')
ancient_poetry()
2、定义一个函数,里面包含多个形参,并使用50个星(*)号分隔每一次打印结果
def ancient_poetry(poetry_name,is_show_title,is_show_dynasty):
if poetry_name=="绝句":
if is_show_title == True:
print("绝句 杜甫")
if is_show_dynasty == True:
print("唐朝")
print("两个黄鹂鸣翠柳,一行白鹭上青天。窗含西岭千秋雪,门泊东吴万里船。")
elif poetry_name=="清平调·其一":
if is_show_title == True:
print("清平调·其一 李白")
if is_show_dynasty == True:
print("唐朝")
print("云想衣裳花想容,春风拂槛露华浓。 若非群玉山头见,会向瑶台月下逢。")
for i in range(0,50):
print("*",end='')
ancient_poetry("绝句",True ,True)
print('')
ancient_poetry("清平调·其一",True, True)
print('')
3、定义一个函数content()如下所示,当执行content(9,2)时,运行结果为()
def content(a,b):
if a >0 and b >0:
print(a%b) #取a/b的余数
else:
print(a+b)
content(9,2)
content(-1,3)
4、定义一个函数,向函数内传入形参num, num1, num2,如果num小于100,则计算num1 和 num2的积并打印;否则计算num1和num2的和,然后打印输出;
1、定义函数名为oper的函数
2、当num值小于100时,求两数的乘积,反之求两数的和
3、调用函数,向函数内传入1314, 52, 0和5, 2, 0两组数据测试结果
def numbers(num,num1,num2):
if num <100:
print(num1*num2)
else:
print(num1+num2)
numbers(99,2,3)
5、美元与人民币汇率计算
1、函数的返回值、
2、参数是函数的输入数据,而返回值则是函数的输出结果
3、return不是必须的,但是return语句执行后,函数将中断执行
4、程序需要输出,可以用return + 对应的数据(result)进行返回,在外侧使用变量r进行接收即可。
5、实际开发中,最好保证return在函数的最后一行
def calc_exchange_rate(amt,source,target):
#人民币与美元汇率 :6.3486人民币 ≈ 1美元
# 6.3486:1
if source == "CNY" and target == "USD":
result = amt /6.3486
print("汇率计算成功")
return result
r = calc_exchange_rate(100, "CNY", "USD")
#r = calc_exchange_rate(100, "EUR", "USD") 如果实参"CNY"换成未定义的"EUR"(欧元),打印结果会为None,none在pythoon中代表不存在的含义
print(r)
6、"""定义一个函数,向函数内传入形参username,password,当username值为josh且password值为字符串josh123时,返回“登录成功”;否则返回“请重新登录”
1、定义函数login
2、if语句判断用户名和密码是否为字符串i
mooc和123456
“”"
def login(username,password):
if username == "josh" and password == "josh123":
return "登录成功"
else:
return "请重新登录"
login_1=login("josh","josh123")
login_2=login("josh1","123456")
print(login_1)
print(login_2)
7、函数使用技巧1-1:设置参数默认值:只需要在形参后增加 “=具体值”即可;
def calc_exchange_rate(amt, source, target='USD'):
#target='USD' 将USD设置为默认参数值
# 人民币与美元汇率 :6.3486人民币 ≈ 1美元
# 6.3486:1
if source == "CNY" and target == "USD":
result = amt / 6.3486
print("美元汇率计算成功")
return result
#7.241人民币 ≈ 1欧元
#7.241 :1
elif source == "CNY" and target == "EUR":
result = amt /7.241
print("欧元汇率计算成功")
return result
r = calc_exchange_rate(100, "CNY")
# r = calc_exchange_rate(100, "EUR", "USD") 如果实参"CNY"换成未定义的"EUR"(欧元),打印结果会为None,none在pythoon中代表不存在的含义
print(r)
r1 = calc_exchange_rate(100,"CNY","EUR")
print(r1)
8、函数使用技巧1-2:(关键字传参),以形参形式传参也叫关键字传参,
#2、以形参形式传参(也叫关键字传参):
# 定义一个体检的函数,里面包含姓名,年龄,身高等;
'''
def health_check(name,age,height,weight.5,hr,hhp,lbp,glu):
health_check("josh",25,175,80.5,70,120,80,4.3)
此种定义方式,如果单行看,根本无法得知传递的health_check("josh",25,175...)为何物,所以需要使用以形参形式传参传参
而在一个函数内包含如此多的形参时,最好的方式是使用字典
'''
def health_check(name,age,height,weight,hr,hhp,lbp,glu):
print("您的健康状况良好")
health_check("josh",25,175,80.5,70,120,80,4.3)
health_check(name="josh",age="18",height=170,weight=80.5,hr=70,hhp=120,lbp=80,glu=4.3)
9、函数使用技巧1-3:以混合形式传参
#3、混合形式传参
def health_check1(name,age,*,height,weight,hr,hhp,lbp,glu):
#*代表之后的所有参数传参时必须使用关键字传参
print("您的健康状况良好")
'''health_check1(name="josh", age="25", 170, weight=80.5, hr=70, hhp=120, lbp=80, glu=4.3)
注释:这段代码表示,如传参时,age后的height 170不使用关键字传参就会报错,程序无法执行'''
health_check1(name="josh",age="18",height=170,weight=80.5,hr=70,hhp=120,lbp=80,glu=4.3)
#按关键字传参则执行成功
10、’’'定义info函数,使用format格式化字符串向控制台输出"imooc-程序员的梦工厂出生于2013年8月"
1、使用format格式化字符串向控制台输出"imooc-程序员的梦工厂出生于2013年8月"
2、调用函数,向函数内传入(程序员的梦工厂,2013年8月)
3、在函数传参时,*号之后的所有参数必须使用关键字传参
‘’’
def info(*,name="imooc",content,time):
print("p1-p2出生于p3".format(p1=name,p2=content,p3=time))
info(content="-程序员的梦工厂出生于",time="2013年8月")
以上是关于Python函数练习题的主要内容,如果未能解决你的问题,请参考以下文章
Python编程快速上手-让繁琐工作自动化 第三章 函数习题及其答案
python 练习题:定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程ax^2+bx+c=0的两个解