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)
  • 相关阅读:
    hlgoj 1766 Cubing
    Reverse Linked List
    String to Integer
    Bitwise AND of Numbers Range
    Best Time to Buy and Sell Stock III
    First Missing Positive
    Permutation Sequence
    Next Permutation
    Gray Code
    Number of Islands
  • 原文地址:https://www.cnblogs.com/xiaomai-rhce/p/10397414.html
Copyright © 2011-2022 走看看