• 3.28 homework


    练习题

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

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

    
    
    第一种
    def func1(argv):
    l1=[]
    for i in range(len(argv)):
    if i %2 == 1:
    l1.append(argv[i])
    return(l1)
    print(func1([1,2,3,4,5,6,78,9]))
    第二种
    def func1(argv):
    return argv[1::2]
    print(func1([1,2,3,4,5,6,78,9]))

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

    
    
    def func2(argv):
    return True if len(argv)>5 else False
    print(func2('334456778'))

    def func2(argv):
    return len(argv)>5
    print(func2('334456778'))

     

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

    
    
    def func3(argv):
    return argv[0:2] if len(argv)>2 else argv
    print(func3([11,22,3,4,5,6,7]))

    def func3(argv):
    return argv[0:2]
    print(func3([11,22,3,4,5,6,7]))

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

    
    
    def func4(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'digit%d,alpha%d,space%d,other%d' % (dic['digit'],dic['alpha'],dic['space'],dic['other'])
    print(func4('dkj'))
    
    

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

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

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

        dic = {"k1": "v1v1", "k2": [11,22,33,44]}
    PS:字典中的value只能是字符串或列表
    def func5(argv):
    for i in argv:
    argv[i]=argv[i][0:2]
    return argv
    print(func5({"k1": "v1v1", "k2": [11,22,33,44]}))

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

    def func5(num1,num2):
    return num1 if num1 > num2 else num2
    num1 = input('请输入第一个数字:').strip()
    num2 = input('请输入第二个数字:').strip()
    print(func5(num1,num2))

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

     

     

     

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

    def register(*args, **kwargs):
        while True:
            with open('register_msg', encoding='utf-8') as f1:
                username = input('请输入用户名:').strip()
                for i in f1:
                    li = i.strip().split()
                    if username == li[0] or username == ' ':
                        print('已存在,请更换用户名')
                        break
                else:
                    password = input('请输入密码').strip()
                    with open('register_msg', encoding='utf-8', mode='a') as f2:
                        f2.write('
    {}	{}'.format(username, password))
                        print('注册成功')
                        return
    
    
    def login(*args, **kwargs):
        with open('register_msg', encoding='utf-8') as f1:
            count = 1
            while count <= 3:
                username = input('请输入用户名:').strip()
                password = input('请输入密码:').strip()
                for i in f1:
                    li = i.strip().split()
                if (username == li[0] or username == '') and password == li[1]:
                    print('登陆成功')
                    break
                else:
                    print('用户名或密码错误,您已使用%d次机会,剩余%d次机会' % (int(count), int(3 - count)))
                    count += 1
    
    
    while True:
        choice = input('请选择注册或者登陆:1注册,2登陆,按其他键退出').strip()
        if choice == '1':
            register()
            continue
        elif choice == '2':
            login()
            continue
        else:
            print('退出成功')
            break

    明日默写
    ①,return的作用。

    ②,传参的几种方法,每个都简单写一个代码。

    如,实参,按位置传参。

    def func(x,y):

    Pass

    func(‘a’,’b’)

  • 相关阅读:
    Java程序中执行Python脚本
    hive笔记2元数据查询
    服务网格简介(转载)
    自定义hivehook(转载)
    线程池:ThreadPoolExcutor源码阅读
    Mysql 的Innodb引擎和Myisam数据结构和区别
    AQS源码阅读
    关于本博客主题设置教程
    使用dockerfile部署springboot应用
    第四章 面向对象(一)
  • 原文地址:https://www.cnblogs.com/kateli/p/8665503.html
Copyright © 2020-2023  润新知