python Day8 :集合

(1)基础

set和frozenset分别创建可变与不可变集合,集合中的元素不重复。
aset=set('david')

Out[2]: {'a', 'd', 'i', 'v'}
type(aset)
Out[3]: set

   
   
dset=set([12,33,44,55])
dset Out[29]: {12, 33, 44, 55}//(创建数值集合)

(2)一些集合常见运算:

bset=frozenset('david')
'c' in aset
Out[4]: False
'd' not in aset
Out[5]: False
aset==bset
Out[7]: True

set('dav')<=aset
Out[8]: True

aset>=set('dave')
Out[9]: False

    
    
 cset=set('dave')
aset&cset Out[12]: {'a', 'd', 'v'}
aset|cset Out[14]: {'a', 'd', 'e', 'i', 'v'}
aset-cset Out[15]: {'i'}
aset^cset Out[16]: {'e', 'i'}

(3)一些指令函数

面向所有集合的一些函数
issubset(),issuperset(),union(),intersection(),difference(),symmetric_difference(),copy()
aset.issubset(cset)#测试是否 s 中的每一个元素都在 t
Out[19]: False

aset.union(cset)
Out[20]: {'a', 'd', 'e', 'i', 'v'}

aset.intersection(cset)
Out[21]: {'a', 'd', 'v'}

aset.difference(cset)
Out[22]: {'i'}

dset=aset.copy()

dset
Out[24]: {'a', 'd', 'i', 'v'}

aset.symmetric_difference(cset)
Out[25]: {'e', 'i'}

总体上和逻辑运算没太大差别。

面向可变集合的运算:
add(),remove(),discard(),pop(),clear(),update()等
discard()是 如果在 set 中存在元素 x, 则删除 。remove()是从 set “s”中删除元素 x, 如果不存在则引发 KeyError  。
pop()是删除并且返回 set “s”中的一个不确定的元素, 如果为空则引发 KeyError  
(4)一次小程序练习:
用字典创建一个平台的用户信息(包含用户名和密码)管理系统,新用户可以用与现有系统帐号不冲突的用户名创建帐号,已存在的老用户则可以用用户名和密码登陆重返系统。
adict= {'a':1234,'b':1235,'c':12}
def newusers(adict):
    print('please input the new name')
    new_name=input("")
    if new_name in adict.keys():
        print('The name has exsited.Please try again')
        newusers(adict)
    else:
        adict[new_name]=input("")#新用户的加入,文件的更新需要关闭字典然后实现

def oldusers(adict):
    print('please input your name')
    user_name=input("user_name: ")
    user_code=eval(input("user_code: "))
    if  str(adict[user_name])==user_code:  
        print(user_name, 'welcome back ')  
    else:  
        print('login incorrect') #旧用户的判断,在这里input的输入123也是str形式,而字典中的1234为int形式,是因为input在py3.0以后默认输入为str,需要加上eval

def showmenu():
     option = """
 (N)ew User Login
 (E)xisting User Login
 (Q)uit
 Enter choice: """#option的赋值,我一步步加断点,想看看是不是输入的值“qne”被加到了option的末尾,可能是吧,不是很清楚
     done = False
     while not done:
         chosen = False
         while not chosen:
             try:
                 choice = input(option).strip()[0].lower()#取输入的最后一位
             except(EOFError, KeyboardInterrupt):#排除报错
                 choice = 'q'
             print('\nYou picked: [%s] \n' % choice)
             if choice not in 'neq':
                 print('invalid option, try again!')
             else:
                 chosen = True
         if choice == 'q':done = True
         if choice == 'n':newusers(adict)
         if choice == 'e':oldusers(adict)
if __name__ == '__main__':
     showmenu()
#程序很简单,抄抄补补,有那么长时间没有尝试了,我就想看看choice的值是怎么变化的,但是还是失败了,很遗憾啊,


本项目是一个基于SSM(Spring+SpringMVC+MyBatis)后端框架与Vue.js前端框架开发的疫情居家办公系统。该系统旨在为居家办公的员工提供一个高效、便捷的工作环境,同时帮助企业更好地管理远程工作流程。项目包含了完整的数据库设计、前后端代码实现以及详细的文档说明,非常适合计算机相关专业的毕设学生和需要进行项目实战练习的Java学习者。 系统的核心功能包括用户管理、任务分配、进度跟踪、文件共享和在线沟通等。用户管理模块允许管理员创建和管理用户账户,分配不同的权限。任务分配模块使项目经理能够轻松地分配任务给团队成员,并设置截止日期。进度跟踪模块允许员工实时更新他们的工作状态,确保项目按计划进行。文件共享模块提供了一个安全的平台,让团队成员可以共享和协作处理文档。在线沟通模块则支持即时消息和视频会议,以增强团队之间的沟通效率。 技术栈方面,后端采用了Spring框架来管理业务逻辑,SpringMVC用于构建Web应用程序,MyBatis作为ORM框架简化数据库操作。前端则使用Vue.js来实现动态用户界面,搭配Vue Router进行页面导航,以及Vuex进行状态管理。数据库选用MySQL,确保数据的安全性和可靠性。 该项目不仅提供了一个完整的技术实现示例,还为开发者留下了扩展和改进的空间,可以根据实际需求添加新功能或优化现有功能。
本项目是一个基于SSM(Spring+SpringMVC+MyBatis)后端框架与Vue.js前端框架开发的网上球鞋竞拍系统。该项目旨在为球鞋爱好者提供一个便捷、高效的在线竞拍平台,用户可以在此平台上浏览、搜索、竞拍心仪的球鞋,并参与到各种有趣的竞拍活动中。 系统的主要功能包括用户注册登录、球鞋信息展示、竞拍活动创建与管理、实时竞拍以及交易安全保障等。用户可以通过注册账号后,浏览平台上发布的各类球鞋信息,包括品牌、型号、颜色、尺码以及当前竞拍状态等。系统支持用户创建和管理自己的竞拍活动,设定竞拍规则和时间,同时提供实时竞拍功能,确保公平、透明的交易过程。 在技术实现上,后端采用SSM框架进行开发,Spring负责业务逻辑层,SpringMVC处理Web请求,MyBatis进行数据库操作,保证了系统的稳定性和扩展性。前端则使用Vue.js框架,结合Axios进行数据请求,实现了前后端分离,提高了开发效率和用户体验。 数据库设计方面,系统采用了MySQL数据库,存储用户信息、球鞋信息、竞拍活动等数据,确保数据的安全性和完整性。此外,项目还包含了详细的文档资料,包括需求分析、系统设计、数据库设计以及测试报告等,为项目的实施和维护提供了有力的支持。 该项目不仅适合作为计算机相关专业学生的毕业设计题目,也适合Java学习者进行实战练习,通过在此基础上进行功能扩展和改进,可以进一步提升编程技能和项目管理能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值