zoukankan      html  css  js  c++  java
  • 17 函数作业

    #1、继续整理函数相关知识点,画思维导图,写博客
    #2、写函数,接收n个数字,求这些参数数字的和
    def sum_func(*args):
        total = 0
        for i in args:
            total += i
        return total
    print(sum_func(1,2,3,8,23,6))       #43
    #3、读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?
    a = 10
    b = 20
    def test5(a,b):
        print(a,b)      #20  10
    c = test5(b,a)
    print(c)            #None
    #4、读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?
    a = 10
    b = 20
    def test5(a,b):
        a = 3
        b = 5
        print(a,b)      #3  5
    c = test5(b,a)
    print(c)            #None
    #选做题:
    #5、用面向函数的思想完成购物车作业
    #函数一:实现三次登录功能
    #函数二:实现新用户注册功能
    #函数三:购物功能
    #进阶任务:将购物功能拆分成多个函数
    #默写作业:
    def outer():
        a = 1
        def inner()
            print(a)
        return inner
    inn = outer()
    inn()
    预习作业:
    #装饰器的博客 http://www.cnblogs.com/Eva-J/articles/7194277.html
    #写函数,检查获取传入的列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者
    def func(l):
        return l[1::2]                 # 切片的用法
    print(func([1,2,3,4,5,6,7,8]))      #[2, 4, 6, 8]
    #写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5.
    def func(x):
        return len(x)>5
    print(func('abcdefg'))      #True
    print(func('abcd'))         #False
    print(func([1,2,3,4,5,6]))   #True
    print(func((1,2,3,4)))       #False
    #写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者
    def func(l):
        return l[:2]
    print(func([1,2,3,4]))      #[1, 2]
    #写函数,计算传入字符串中【数字】、【字母】、【空格】以及【其它】的个数,并返回结果
    def func(s):
        dic = {'num':0,'alpha':0,'space':0,'other':0}
        for i in s:
            if i.isdigit():
                dic['num'] += 1
            elif i.isalpha():
                dic['alpha'] += 1
            elif i.isspace():
                dic['space'] += 1
            else:
                dic['other'] += 1
        return dic
    print(func(' +23drfk87k hd-aGb& f'))   #{'num': 4, 'alpha': 11, 'space': 3, 'other': 3}
    #写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容,并返回结果
    #'sakjdkj kjshd'
    #[1,2,3,'',[],' ',(),'sdf sdfe']
    #(1,2,3,'',[])
    def func(x):
        if type(x) is str and x:
            for i in x:
                if i == ' ':
                    return True
            return False
        elif x and type(x) is list or type(x) is tuple:
            for i in x:
                if not i:
                    return True
            return False
        elif not x:
            return True
        else:
            return False
    print(func('sakjdkj kjshd'))        #True
    print(func('sakjdkjkjshd'))         #False
    print(func([1,2,3,'',[],' ',(),'sdf sdfe']))    #True
    print(func([1,2,3]))                              #False
    print(func([1,2,3,'']))                           #True
    print(func([1,2,3,' ']))                          #False
    print(func([1,2,3,[]]))                           #True
    print(func([1,2,3,()]))                           #True
    #写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个的内容,并将新内容返回给调用者
    # dic = {'k1':'v1v1','k2':[11,22,33,44]}
    # ps:字典中的value只能是字符串或列表
    def func(dic):
        for k in dic:
            if len(dic[k])>2:
                dic[k] = dic[k][:2]
        return dic
    
    dic = {'k1':'v1v1','k2':[11,22,33,44]}
    print(func(dic))        #{'k1': 'v1', 'k2': [11, 22]}
    #写函数,接收两个数字参数,返回比较大的那个数字
    def func(a,b):
        if a>b:
            return a
        else:
            return b
    print(func(1,4))        #4
    def func(a,b):
        return a if a>b else b
    print(func(1,4))        #4
    #写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(进阶)
    def func(filename,old,new):
        with open(filename,encoding='utf-8') as f,open('%s.bak' % filename,'w',encoding='utf-8') as f2:
            for line in f:
                if old in line:
                    line = line.replace(old,new)
                f2.write(line)
        import os
        os.remove(filename)                         #删除文件
        os.rename('%s.bak' % filename,filename)     #重命名文件
    #写一个函数完成三次登录功能,再写一个函数完成注册功能

  • 相关阅读:
    jquery 回调函数
    彻底弄懂js循环中的闭包问题
    浅谈JavaScript for循环 闭包
    eclipse maven工程resources目录下的文件夹是包图标解决
    筛选载入的HTML文档
    记坑: ConfigurationProperties 和 RefreshScope
    记坑: ConfigurationProperties 和 RefreshScope
    利用simhash计算文本相似度
    利用simhash计算文本相似度
    利用simhash计算文本相似度
  • 原文地址:https://www.cnblogs.com/bydzxzy/p/9649708.html
Copyright © 2011-2022 走看看