zoukankan      html  css  js  c++  java
  • Day 10 作业讲解

    2,写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
    def func(lst):   # function
        # return lst[1::2]
    
        result = []
        for i in range(len(lst)):
            if i % 2 == 1:
                result.append(lst[i])
        return result

    3, 写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5
    def func(obj):
        # if len(obj) > 5:
        #     return True
        # else:
        #     return False
        return len(obj) > 5
    4, 写函数,检查传入列表的长度,如果大于2,将列表的前两项内容返回给调用者
    def func(lst):
        if len(lst) > 2:
            return lst[:2]
    5, 写函数,计算传入函数的字符串中, 数字、字母、空格 以及 其他内容的个数,并返回结果 isalpha()
    def func(s=""):
        shuzi = 0
        zimu = 0
        kongge = 0
        qita = 0
        for c in s:
            if c.isalpha():
                zimu = zimu + 1
            elif c.isdigit():
                shuzi = shuzi + 1
            elif c.isspace():
                kongge = kongge + 1
            else:
                qita = qita + 1
        return shuzi, zimu, kongge, qita
    
    print(func("abcd1234@@@@    "))


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

    def func(a, b):
        # if a > b:
        #     return a
        # else:
        #     return b
        return a if a > b else b
    
    三目运算
    a = 100
    b = 20
    
    c = a if a > b else b
    print(c)



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

    dic = {"k1": "v1v1", "k2": [11,22,33,44]}
        PS:字典中的value只能是字符串或列表
    def func(dic):
        for k, v in dic.items():
            if len(v) > 2:
                v = v[:2]
                dic[k] = v
        return dic



    8, 写函数,此函数只接收一个参数且此参数必须是列表数据类型,
    此函数完成的功能是返回给调用者一个字典,
    此字典的键值对为此列表的索引及对应的元素。
    例如传入的列表为:[11,22,33] 返回的字典为 {0:11,1:22,2:33}。
    def func(lst):
        if type(lst) != list:
            print("扔出去一个异常")
    
        dic = {}
        for i in range(len(lst)):
            dic[i] = lst[i]
        return dic
    9,
    写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。用户通过输入这四个内容,
    然后将这四个内容传入到函数中,此函数接收到这四个内容,
    将内容追加到一个student_msg文件中

    def func(name, age, edu, gender=""):
        f = open("student_msg", mode="a", encoding="utf-8")
        f.write(name+"_"+gender+"_"+age+"_"+edu+"
    ")
        f.flush()
        f.close()
    
    # func("郑中基", "男", "50", "大本")
    # func("张学友", "男", "60", "大本")
    
    while 1:
        tiwen = input("请问是否要输入学生信息输入任意内容继续,输入Q退出:")
        if tiwen.upper() == 'Q':
            break
    
        name = input("请输入你的姓名:")
        gender = input("请输入你的性别:")
        age = input("请输入你的年龄:")
        edu = input("请输入你的学历:")
    
        gender = "" if gender == "" else ""
        func(name, age, edu, gender)
    
    
    11 写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(升级题)。
    import os
    def func(file_name, old, new):
    
        with open(file_name, mode="r", encoding="utf-8") as f1, 
            open(file_name+"_副本", mode="w", encoding="utf-8") as f2:
            for line in f1:
                line = line.replace(old, new)
                f2.write(line)
        os.remove(file_name)
        os.rename(file_name+"_副本", file_name)
    
    
    
    12. 写一个函数完成三次登陆功能,再写一个函数完成注册功能. 用户信息写入到文件中
    def regist(username, password): # wusir
        # 1. 检查用户名是否重复
        f = open("user_info", mode="r+", encoding="utf-8")
        for line in f:
            if line == "": # 防止空行影响程序运行
                continue
            user_info_username = line.split("_")[0]
            if username == user_info_username: # 用户名重复了
                return False
        else:
            # 2. 写入到文件中
            f.write(username+"_"+password+"
    ")
    
        f.flush()
        f.close()
        return True
    
    name, psw = input("请输入你的用户名:"), input("请输入你的密码:")
    print(regist(name, psw))
    
    def login(username, password):
        f = open("user_info", mode="r", encoding="UTF-8")
        for line in f:
            if line.strip() == username+"_"+password:
                f.close()
                return True
        else:
            f.close()
            return False
    
    for i in range(2, -1, -1):
        ret = login(input("请输入用户名:"), input("请输入密码:"))
        if ret:
            print("恭喜你. 登录成功")
            break
        else:
            print("用户名或密码错误, 还有%s次机会" % i)
  • 相关阅读:
    头像上传ASP.NET MVC实现-可拖动大小实时预览
    C#中将图片文件转化为二进制数组-用于数据库存储
    Sqlserver查询表结构信息-字段说明、类型、长度等信息
    Asp.Net MVC 页面代码压缩筛选器-自定义删除无效内容
    [LeetCode] 503. Next Greater Element II
    [LeetCode] 859. Buddy Strings
    [LeetCode] 27. Remove Element
    [LeetCode] 287. Find the Duplicate Number
    [LeetCode] 142. Linked List Cycle II
    [LeetCode] 791. Custom Sort String
  • 原文地址:https://www.cnblogs.com/xiaomai-rhce/p/10397414.html
Copyright © 2011-2022 走看看