zoukankan      html  css  js  c++  java
  • day08总结

    集合常用操作
    # 一、关系运算
    firends1 = {"zero", "kevin", "jason", "egon"}
    firends2 = {"jy", "ricky", "jason", "egon"}

    # 1、取二者的共同好友:交集
    # res = firends1 & firends2
    # print(res)

    # 2、取二者所有的好有有哪些:并集
    # res=firends1 | firends2
    # print(res)

    # 3、取第一个人独有的好友:差集
    # res=firends1 - firends2
    # print(res)

    # res=firends2 - firends1
    # print(res)

    # 4、求两个用户独有的好友们(即去掉共有的好友):对称差集/交叉补集
    # res1=firends1 - firends2
    # res2=firends2 - firends1
    # print(res1 | res2)

    # print(firends1 ^ firends2)

    # 5、父子集:一个集合包含另外一个集合,他们才有父子集的关系
    # s1 = {1, 2, 3}
    # s2 = {3, 4, 5}

    # print(s1 > s2) # False
    # print(s1 < s2) # False
    # print(s1 == s2) # False

    # 集合1>集合2 结果True时,意味着集合1内的元素完全包含了集合2
    # s1={1,2,3}
    # s2={1,2}
    #
    # print(s1 > s2) # 结果True,代表s1是s2的父集
    # print(s2 < s1) # 结果True,代表s2是s1的子集


    # s1 = {1, 2, 3}
    # s2 = {3, 2, 1}
    # print(s1 == s2)

    # 二、常用操作与内置方法
    # s1 = {3, 2, 1}
    # for item in s1:
    # print(item)

    s1 = {3333, "aaa", 222, "bbb", 111}
    # 1、s1.update()
    # print(id(s1))
    # s1.update({3,4,5})
    # print(s1)
    # print(id(s1))

    # 2、s1.clear()


    # 3、s1.pop()
    # res=s1.pop() # 随机删除,把蛋取走
    # print(s1)
    # print(res)


    # 4、s1.remove() # 只是删除,捏碎了
    # s1 = {3333, "aaa", 222, "bbb", 111}
    # res = s1.remove(3333)
    # print(s1)
    # print(res)

    # 5、s1.discard() # 与s1.remove一样都是指定元素删除,不一样的是???
    # s1 = {3333, "aaa", 222, "bbb", 111}
    # res=s1.discard(3333)
    # print(s1)
    # print(res)

    # 不一样的地方:当删除的元素不存在时,s1.discard不会报错
    # s1.discard(555555)
    # s1.remove(555555) # 指定元素不存在则报错


    # s1.add()
    # s1 = {3333, "aaa", 222, "bbb", 111}
    # s1.add(555555555)
    # print(s1)

    # s1.isdisjoint(s2) # 如果s1与s2没有共同的元素则返回True
    # s1={1,2,3}
    # s2={4,5}
    # print(s1.isdisjoint(s2))

    # 总结集合set:
    # 存多个值
    # 无序
    # set集合是可变类型


    文件操作
    '''
    1、什么是文件
    文件是操作系统提供给用户/应用程序操作硬盘的一个虚拟单位/功能

    应用程序/用户对文件的读写操作都是在向操作系统发起系统调用
    操作系统接收到调用请求后,会将该请求转换成具体的硬盘操作

    2、为何要用文件
    应用程序操作文件为了将内存中的数据永久保存到硬盘中去

    3、如何操作文件
    '''

    # 一:文件的基本操作
    # 文件的路径:找到文件的地址
    # 绝对路径:r'C:ac ew.txt'
    # 相对路径:相对于当前程序所在文件夹往后找,r"aaa/a.txt"

    # f = open(r"aaa/a.txt", mode='rt', encoding='utf-8')
    #
    # data=f.read()
    # print(data)
    #
    # f.close() # 释放操作系统资源


    # 二:文件的模式
    # 2.1 控制文件读写内容的模式(不能单独使用,必须与rwa结合使用)
    # t:(默认的)
    # 1、读写内容都是以字符串为单位
    # 2、只适用于文本文件
    # 3、必须指定encoding参数

    # b:
    # 1、读写内容都是以bytes为单位
    # 2、适用于所有文件
    # 3、一定不能指定encoding参数


    # 2.2 控制文件读写操作的模式
    # r:(默认的)
    # 1、只读模式
    # 2、当文件不存在时则报错
    # 3、当文件存在时文件指针跳到文件开头
    # f = open('b.txt', mode='rt', encoding='utf-8')
    # data = f.read()
    # print(data)
    # f.close()

    # w:
    # 1、只写模式
    # 2、当文件不存在会创建一个空文件,然后文件指针跳到文件开头
    # 3、当文件存在时文件内容会被清空,然后文件指针跳到文件开头
    f = open('c.txt', mode='wt', encoding='utf-8')
    # name = input('>>: ')
    # f.write(name)
    # f.write("egon ")
    # f.write("张三 ")
    # f.write("李四 ")

    # f.write("王五 ")
    # f.write("赵铁蛋 ")
    # f.write("张全蛋 ")
    f.close()

    # a:
    # 1、只追加模式
    # 2、当文件不存在会创建一个空文件,然后文件指针跳到文件末尾
    # 3、当文件存在时文件内容不会被清空,文件指针跳到文件末尾
    # f = open('d.txt',mode='at',encoding='utf-8')
    # f.write('aaa ')
    # f.write('bbb ')
    # f.write('ccc ')
    # f.close()


    # w与a模式的相同点
    # 在文件打开了没有被关闭的情况下,连续的写入,新写入的内容总是跟在老内容之后

    # w与a模式的不同点
    # 在文件关闭了重新打开的情况下,a模式永远把文件指针放到文件末尾


    # 案例一:编写一个用户注册功能,注册的内容是账号名和名
    # name = input("请输入您的账号>>:").strip()
    # pwd = input("请输入您的密码>>:").strip()
    # # 账号密码合法性校验
    # f = open('db.txt',mode='at',encoding='utf8')
    # f.write("%s:%s " %(name,pwd))
    # f.close()

    # 案例二:编写一个用户验证功能,账号密码来自于文件
    inp_name = input("请输入您的账号>>:").strip()
    in_pwd = input("请输入您的密码>>:").strip()

    # 打开文件,读取账号密码与用户输入的账号密码进行比对
    f = open('db.txt', mode='rt', encoding='utf-8')
    for line in f:
    # print(line) # "egon:123 "
    name, pwd = line.strip(" ").split(':')
    if inp_name == name and in_pwd == pwd:
    print('登录成功')
    break
    else:
    print('账号密码输入错误')

    f.close()

    
    
  • 相关阅读:
    利用JAVACC实现简单的四则运算
    pygeoip 以及dpkt模块 进行数据包分析与定位
    Pexpect 模块登录ssh以及pxssh模块暴力破解ssh密码
    python socket模块,nmap模块实现端口扫描器以及编码问题
    python zipfile模块和optparse模块暴力破解zip文件
    programming language part b 第一周作业
    python 实现简单爬虫
    Python 图像转字符画
    最大堆的ADT实现
    programming language part a 第五周总结
  • 原文地址:https://www.cnblogs.com/Knge/p/13089314.html
Copyright © 2011-2022 走看看