admin管理员组文章数量:1794759
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格式化字符串向控制台输出"python-程序员的梦工厂出生于2021年1月"
1、使用format格式化字符串向控制台输出"-程序员的梦工厂出生于2021年1月" 2、调用函数,向函数内传入(程序员的梦工厂,2013年8月) 3、在函数传参时,*号之后的所有参数必须使用关键字传参 ‘’’
def info(*,name="python",content,time): print("{p1}-{p2}出生于{p3}".format(p1=name,p2=content,p3=time)) info(content="-程序员的梦工厂出生于",time="2021年1月")11、random生成随机数方法使用
import random r = random.randint(1,16) print(r)版权声明:本文标题:Python函数练习题 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686490659a73411.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论