博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
函数习题2
阅读量:4979 次
发布时间:2019-06-12

本文共 1439 字,大约阅读时间需要 4 分钟。

第一题
# 1.写出完整的装饰器(不用考虑带参装饰器,就是普通装饰器)语法
def outter(fn):
    def inner(*args,**kwargs):
        res=fn(*args,**kwargs)
        print("新增功能")
        return res
    return inner
@outter
def fn(*args,**kwargs):
    print("你好")
fn()
"""
"""
 第二题
#2.有一个计算两个数和的方法,为其添加一个确保两个参数都是int或float
类型的装饰器,保证运算不会抛异常。
def check_num(func):
    def indder(n1,n2):
        b1=isinstance(n1,int) or isinstance(n1,float)
        b2=isinstance(n2,int) or isinstance(n2,float)
        if not (b1 and b2):
            print("不能求和")
            return
        return func(n1,n2)
    return indder
@check_num
def add(n1,n2):
    return n1+n2
print(add(3,4))
"""
"""
 第三题
 3.有一个一次性录入人名并返回人名的方法(人名只考虑存英文),为其添加
一个装饰器,使得处理后人名首字母一定大写
def outter(func):
    def inner():
        res=func()
        return res.title()
    return inner
@outter
def get_name():
    name=input('name: ')
    return name
print(get_name())
4.需求:用函数修改文件
def check_file(filename,old,new):
    import os
    with open(filename,'r',encoding='utf-8') as read_f:
            with open('.filename','w',encoding='utf-8') as write_f:
                for line in read_f:
                    if old in line:
                        write_f.write(line.replace(old,new))
                    else:
                        write_f.write(line)
            os.remove(filename)
            os.rename('.filename',filename)
check_file('001.txt','鱼','胡')
 
5.需求:写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def check_list(list):
    if len(list)>2:
        list=list[0:2]
        return list
    else:
        return list
print(check_list([1]))
难点:list=list[0:2]
 
5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def check_list(list):
    return list[::2]
print(check_list([1,2,3,4,5,6]))
 
 
 
 
 
 
 
 
 

转载于:https://www.cnblogs.com/jingandyuer/p/10679433.html

你可能感兴趣的文章
Oracle RMAN备份
查看>>
实时监听输入框值变化的完美方案:oninput & onpropertychange
查看>>
【C】枚举用例分析
查看>>
JS限制文本框只能输入数字
查看>>
一套完整系统对人生的意义
查看>>
【Flex】去除外边框,底背景透明,改变exe的icon
查看>>
Android 解决NestedScrollView 嵌套 RecyclerView出现的卡顿,上拉刷新无效
查看>>
Android之SharedPreferences两个工具类
查看>>
基础数论
查看>>
ios 调用webservice整理
查看>>
Spring集成log4j日志管理
查看>>
jenkins学习:jenkins的基本配置
查看>>
python学习笔记:python异常的调用原理
查看>>
用来生成get set string 方法
查看>>
iOS开发日记17-runtime基础篇
查看>>
第6次课程作业--郑懿
查看>>
net的Session配置
查看>>
winform下读取excel文件并绑定datagridview例子
查看>>
常用协议 —— webservice://
查看>>
格式化Json传递的日期
查看>>