• python 的基础 学习 11天 作业题


    1、整理函数相关知识点,写博客

    2、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。

    def func1(argv):
        li = []
        for i in range(len(argv)):#循环取奇数
            if i %2 == 1:
                li.append(argv[i])
        return li
    print(func1([1,2,3,4]))
    def func(argv):return  argv[1::2]#切片方法
    print(func([1,2,3,4]))

    3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。

    def func(argv):
        if len(argv) > 5:
            return True
        else:return False
    print(func('sjfjkskjf'))
    def func(argv):
        return True if len(argv) > 5 else False
    print(func('jsajdjsaka'))
    def func(argv):
        return len(argv) > 5
    print(func('adajjadj'))

    4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

    def func(argv):
        li = []
        if len(argv) > 2:
            li = argv[:2]
        else:
            li = argv
        return li
    print(func([2,4,4,3,2]))
    def func(argv):
        return argv[:2] if len(argv) > 2 else argv
    print(func([1,3,4,5]))
    def func(argv):
        return argv[:2]
    print(func([1,2,3,4]))

    5、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数,并返回结果。

    def func(argv):
        dic = {'digit':0,'alpha':0,'space':0,'other':0}
        for i in argv:
            if i.isdigit():
                dic['digit'] += 1
            elif i.isalpha():
                dic['alpha'] += 1
            elif i.isspace():
                dic['space'] += 1
            else:
                dic['other'] += 1
        return '数字%d,字母%d,空格%d,其他%d'%(dic['digit'],dic['alpha'],dic['space'],dic['other'])
    print(func('ajdj2384234  大家安静**&&'))

    7、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

       dic = {"k1": "v1v1", "k2": [11,22,33,44]}

       PS:字典中的value只能是字符串或列表

    def func(argv):
        for i in argv:
            if len(argv[i]) > 2:
                argv[i] = argv[i][:2]
        return argv
    print(func({"k1": "v1v1", "k2": [11,22,33,44]}))
    def func(argv):
        for i in argv:
            argv[i] = argv[i][:2]
        return argv
    print(func({"k1": "v1v1", "k2": [11,22,33,44]}))

    8、写函数,接收两个数字参数,返回比较大的那个数字。

    def func(a,b):
        if a>b:
            return a
        else:
            return b
    print(func(11,33))
    def func(a,b):
        z=a if a>b else b
        return z
    print(func(22,444))
    def max_min(a,b):
        return a if a>b else b
    print(max_min(444,55))

     

    9、写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(进阶)。

    import os
    def File_modification(path,old,new):
        with open(path,encoding='utf-8')as f1,
            open(path+'.bak',encoding='utf-8',mode='w') as f2:
            for i in f1:
                new_i = i.replace(old,new)
                f2.write(new_i)
        os.remove(path)
        os.rename(path+'.bak',path)
        return True
    print(File_modification('a.txt','alex','SB'))

    10、写一个函数完成三次登陆功能,再写一个函数完成注册功能(进阶)

    def register():
        while True:
            flag = True
            username = input('请输入用户名:')
            with open('register_msg',encoding='utf-8')as f1:
                for i in f1:
                    li = i.strip().split()
                    if username == li[0] or username == ' ':
                        print('用户名已存在,请重新输入')
                        break
                else:
                    password = input('请输入密码:')
                    with open('register_msg',encoding='utf-8',mode='a')as f2:
                        f2.write('
    {}	{}'.format(username,password))
                        print('注册成功')
                    return login()
    
    
    def login():
        i = 0
        while i <3:
            i += 1
            username = input('请输入用户名:')
            password = input('请输入密码:')
            with open('register_msg',encoding='utf-8') as f2:
                for line in f2:
                    line = line.strip()
                    line_list = line.split('  ')
                    if username == line_list[0] and password == line_list[1]:
                        return True
    
    
    def func1(*args,**kwargs):
        print('欢迎登录')
        flag = True
        while flag:
            choice = input('1,登录,2,注册,Q,退出')
            if choice == '1':
                is_login = login()
                if is_login:
                    print('登录成功')
                else:
                    print('登录失败')
                flag = False
            if choice == "2":
                register()
                flag = False
            elif choice == 'Q':
                exit('bye')
                flag = False
    
    func1()
  • 相关阅读:
    auto关键字
    关闭vs的编译警告
    windows C++删除非空文件夹
    vs相同变量高亮显示
    梯度下降算法到logistic回归
    ubuntu 按键替换 Control_R to Left
    git 删除分之以及删除文件夹
    迄今为止计算机视觉领域超有实力的研究人物主页
    DeepLearning——CNN
    利用积分图进行均值滤波
  • 原文地址:https://www.cnblogs.com/yzxing/p/8669886.html
Copyright © 2020-2023  润新知