zoukankan      html  css  js  c++  java
  • day05

    1.完成下列操作

    list = [“xiaoming”,”xiaohua”,”xiaohong”]
    (1)循环遍历出列表的所有元素

    # (1)循环遍历出列表的所有元素
    list = ["xiaoming", "xiaohua", "xiaohong"]
    for value in list:
        print(value)

    运行结果:

    xiaoming
    xiaohua
    xiaohong

    (2)把列表list1[“jack”,”marry”,”tom”]中的每个元素逐一添加到list列表中

    # (2)把列表list1[“jack”,”marry”,”tom”]中的每个元素逐一添加到list列表中
    list = ["xiaoming", "xiaohua", "xiaohong"]
    list1 = ["jack", "marry", "tom"]
    list.extend(list1)
    print(list)

    或者:

    # (2)把列表list1[“jack”,”marry”,”tom”]中的每个元素逐一添加到list列表中
    list = ["xiaoming", "xiaohua", "xiaohong"]
    list1 = ["jack", "marry", "tom"]
    for value in list1:
        list.append(value)
    print(list)

     运行结果:

    ['xiaoming', 'xiaohua', 'xiaohong', 'jack', 'marry', 'tom']

    (3)查看list列表是否有“xiaohua”这个元素

    # (3)查看list列表是否有“xiaohua”这个元素
    list = ["xiaoming", "xiaohua", "xiaohong"]
    if "xiaohua" in list:
        print("存在")
    else:
        print("不存在")

    (4)查看list列表的长度

    # (4)查看list列表的长度
    list = ["xiaoming", "xiaohua", "xiaohong"]
    l = len(list)
    print(l)

    2.将下列两个列表合并,将合并后的列表升序并输出.

    list1 = [1,3,4,5,7]
    list2 = [0,66,8,9]

    # 2.将下列两个列表合并,将合并后的列表升序并输出.
    list1 = [1, 3, 4, 5, 7]
    list2 = [0, 66, 8, 9]
    ret = list1 + list2
    ret.sort(reverse=False)
    print(ret)

    或者:

    # 2.将下列两个列表合并,将合并后的列表升序并输出.
    list1 = [1, 3, 4, 5, 7]
    list2 = [0, 66, 8, 9]
    list1.extend(list2)
    list1.sort(reverse=False)
    print(list1)

    运行结果:

    [0, 1, 3, 4, 5, 7, 8, 9, 66]

    3.使用字典来存储一个人的信息(姓名、年龄[数字]、学号),

    这些信息来自键盘的输入,储存完输出至终端.

    # 3.使用字典来存储一个人的信息(姓名、年龄[数字]、学号),
    # 这些信息来自键盘的输入,储存完输出至终端.
    my_dict = {}
    my_dict["name"] = input("请输入您的姓名:")
    my_dict["age"] = int(input("请输入您的年龄:"))
    my_dict["no"] = input("请输入您的学号:")
    print(my_dict)

    4.有下列字典dict1,查找值为“itcast”对应的key并输出到终端.(结果应该是输出school)

    dict1={“school”:“itcast”,“date”:2017,”address”:“beijing”}

    # 4.有下列字典dict1,查找值为“itcast”对应的key并输出到终端.(结果应该是输出school)
    # dict1={“school”:“itcast”,“date”:2017,”address”:“beijing”}
    dict1 = {"school": "itcast", "date": 2017, "address": "beijing"}
    for i in dict1.keys():
        if dict1[i] == "itcast":
            print(i)

    5.完成字符串的逆序以及统计

    • 设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
    • 打印出字符串长度
    • 使用切片逆序打印出字符串
    • 统计输入的字符串中不同字符的个数,使用字典存储,并打印出来
    # 5.完成字符串的逆序以及统计
    # 设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
    # 打印出字符串长度
    # 使用切片逆序打印出字符串
    # 统计输入的字符串中不同字符的个数,使用字典存储,并打印出来
    while True:
        # 获取键盘输入
        str_input = input("请任意输入一个字符串(长1-31):")
        # 测试长度:
        if len(str_input)<1 or len(str_input)>31:
            print("长度超出限制,请重新输入")
            continue
    
        # 统计字符个数的字典
        count_dict = {}
        for c in str_input:
            # 如果有,则将其原来的值+1
            if c in count_dict:
                count_dict[c] += 1
            # 如果没有,则新增加这个键值对值设为1
            else:
                 count_dict[c] = 1
        # 打印其长度并逆序打印字符串
        print("您输入的字符串%s
    "%str_input,
                "长度:%d
    "%len(str_input),
                "逆序后为:%s
    "%str_input[::-1],
                "字符统计结果:",count_dict
             )

    运行结果:

    请任意输入一个字符串(长1-31):dsfsdghbfhdfh
    您输入的字符串dsfsdghbfhdfh
     长度:13
     逆序后为:hfdhfbhgdsfsd
     字符统计结果: {'d': 3, 'f': 3, 'b': 1, 'g': 1, 'h': 3, 's': 2}
    请任意输入一个字符串(长1-31):

    6.字符翻译程序

    • 查看笔记本键盘1-9还有0号键其上方的字符,要求用户输入"1",那么输出"!",输入"2",那么输出"@",以此类推

    • 用字典完成这个任务

    • 用户如果输入的字符长度超过1或者是除数字以外其他字符,提示"未收录该字符的含义,请重新输入"​

    # 6.字符翻译程序
    # 查看笔记本键盘1-9还有0号键其上方的字符,要求用户输入"1",那么输出"!",输入"2",那么输出"@",以此类推
    # 用字典完成这个任务
    # 用户如果输入的字符长度超过1或者是除数字以外其他字符,提示"未收录该字符的含义,请重新输入"​
    # 字符对应的字典
    char_dict = {"1":"!", "2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")"}
    while True:
        cmd = input("请输入命令:")
        # 如果输入的是"0123456789"中的数字才执行
        if cmd in "0123456789" and len(cmd) == 1:
            print("键盘中%s号键对应的符号是%s"%(cmd,char_dict[cmd]))
        elif cmd == "quit":
            print("谢谢使用")
            break
        else:
            print("未识别的命令")

    运行结果:

    请输入命令:1
    键盘中1号键对应的符号是!
    请输入命令:2
    键盘中2号键对应的符号是@
    请输入命令:6
    键盘中6号键对应的符号是^
    请输入命令:

    7.用户注册登录系统V2.0

    • 设计一个程序

    • 要求用户可以实现登录、注册、注销登录等功能

    • 用户的用户名(6-20)、密码(8-20)、昵称、年龄信息保存到字典中

    • 将每个已注册的用户保存到列表中,即上将一步的字典保存到列表中

    • 维护用户的登录状态,每次只能有一个用户处于登录状态,直到选择注销登录

    • 如果不选择退出系统,该程序应当一直运行

      提示:

      • 维护用户登录:用一个变量如 loginUser去记录一个已登录用户的用户名,

      • 如果注销登录或者未登录状态,那么就把loginUser的值设为False,

      • 或者其他,每次判断loginUser就能得知当前是否有用户已经登录​

    loginUser = False
    user_list = [{"name": "系统管理员", "username": "admin", "passwd": "123456"}]
    while True:
        print("      python攻城狮系统V6.0")
        if not loginUser:
            print("1.登录")
        else:
            print("1.登出")
        print("2.注册新用户")
        print("3.查看所有已注册用户")
        print("4.管理员身份")
        print("5.查看当前登录用户")
        print("6.退出系统")
    
        cmd = input("命令:")
        # 登录登出管理
        if cmd == "1":
            # 如果是以登录状态,则询问是否注销登录
            if loginUser:
                yn = input("确认注销登录(y/n)")
                if yn == "y":
                    print("%s注销登录成功" % loginUser["name"])
                    loginUser = False
                    continue
    
            # 如果是为登录状态,则进行登录
            else:
                username = input("请输入用户名:")
                passwd = input("请输入密码:")
                login = None  # 判断输入的用户是否存在
                for user in user_list:
                    # 判断输入的用户是否存在,以及密码是否正确
                    if user["username"] == username and user["passwd"] == passwd:
                        login = user
                # 如果存在,且密码校验成功,则提示登录成功,并赋值非loginUser
                # 否则提示"用户名密码错误或用户名不存在"
                if login:
                    print("欢迎%s,登录成功" % login["name"])
                    loginUser = login
                else:
                    print("用户名密码错误或用户名不存在")
        # 注册新用户,添加新用户
        elif cmd == "2":
            name = input("请输入昵称:")  # 昵称
            username = input("请输入用户名(登录用):")  # 用户名,应判断是否存在
            for user in user_list:
                # 判断用户名是否因存在
                if user["name"] == username:
                    print("用户名%s已经存在,请重试")
                    continue  # 如果存在,则重新输入
            passwd1 = input("请输入密码:")
            passwd2 = input("请确认密码:")
            # 判断两次密码是否一致
            if passwd1 != passwd2:
                print("密码不一致,请重新输入")
                continue  # 不一致则重新输入
            # 否则,注册成功
            newuser = {"name": name, "username": username, "passwd": passwd1}
            # 添加到用户列表
            user_list.append(newuser)
            print("注册成功")
        # 查看所以已注册用户的信息,应具备管理员权限
        elif cmd == "3":
            # 判断是否已经登录
            if loginUser:
                # 判断当前用户是不是管理员
                if loginUser["username"] != "admin":
                    print("权限不足,请获取管理员权限")
                    continue
                else:
                    i = 1
                    for u in user_list:
                        print("No%d. " % i, u)
                        i += 1
            else:
                print("请以管理员身份登录并查看")
    
        # 管理管理员账户
        elif cmd == "4":
            # 要求先登录
            if not loginUser:
                print("请先登录")
                continue
            else:
                # 如果不是管理员
                if loginUser["username"] != "admin":
                    print("权限不足,请获取管理员权限")
                    continue
    
            for u in user_list:
                if u["username"] == "admin" and loginUser["username"] == "admin":
                    yn = input("需要修改管理员密码吗?(y/n)")
                    if yn == "y":
                        oldpasswd = input("请输入原密码:")
                        if oldpasswd == loginUser["passwd"]:
                            newpasswd = input("请输入新密码:")
                            loginUser["passwd"] = newpasswd
                            print("管理员密码已更新")
                        else:
                            print("密码错误,请重新输入")
                            continue
        # 查看当期那登录用户是谁
        elif cmd == "5":
            if loginUser:
                print("当前登录的用户为%s(%s)" % (loginUser["name"], loginUser["username"]))
            else:
                print("当前登录的用户为匿名用户")
        # 退出
        elif cmd == "6":
            print("退出成功,谢谢您的使用!")
            break

    8.判断有效日期

    用户可以输入"20170327"等三种格式的日期

    判断是否是有效日期,如"20170229"不是有效日期,"20171345"不是有效日期

    pingnian_month = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    runnian_month = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    while True:
        date = input("请输入一个日期(8位),输入QUIT退出程序:")
        # 如果输入QUIT则退出
        if date == "QUIT":
            break
        # 如果长度不为8或者不是纯数字,则重新输入
        if len(date) != 8 and not date.isdigit():
            print("请输入一个八位的日期")
            continue
        else:
            year = int(date[0:4])  # 截取年份
            month = int(date[4:6])  # 截取月份
            day = int(date[6:])  # 截取日期
            isRunNian = False  # 判断是否是闰年
            if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
                isRunNian = True
            # 判断月分是否合法
            if month < 1 or month > 12:
                print("您输入的%s不是有效日期, 请重新输入" % date)
                continue
    
            if isRunNian:
                # 判断日期是否合法
                if day < 1 or day > runnian_month[month]:
                    print("您输入的%s不是有效日期, 请重新输入" % date)
                    continue  # 不合法直接重新输入
            else:
                # 判断日期是否合法
                if day < 1 or day > pingnian_month[month]:
                    print("您输入的%s不是有效日期, 请重新输入" % date)
                    continue
            print("您输入的%s是有效日期" % date)
            print("=" * 30)
  • 相关阅读:
    css基础属性
    选择器的类型
    css的三种表现形式
    表单和表格
    如何比较两个xml 的异同
    xslt 简单的语法
    xslt 和一个demo
    event based xml parser (SAX) demo
    SAX vs. DOM (Event vs. Tree)
    xmlns 实例分析
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12799372.html
Copyright © 2011-2022 走看看