# Python作业 **Repository Path**: zhangbingli/python-job ## Basic Information - **Project Name**: Python作业 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-02 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 总结关于字典、集合的所有方法 ### 字典 - 字典是用来保存一个键/值对集合,其中每个唯一的键有一个与之关联的值。 - 字典是另一种可变容器模型,且可存储任意类型对象。 - 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 。 - 字典的特性:无序性;可以一键多值,但不可一值多键。 - python字典的键部分通常是一个字符串,关联的值部分可以是任意的python对象。 **1、访问字典里的值** 字典用键来访问其关联的数据值,键放在中括号中间 **2、修改字典** 向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对。如: ``` dict1 = {'Name': 'bingli', 'Age': 20, 'Class': 'wangxin3'} dict['Age'] = 21 # 更新 Age dict['School'] = "ZDNF" # 添加信息 ``` **3、删除字典元素** - 能删单一的元素也能清空字典,清空只需一项操作。 - 显示删除一个字典用del命令 ``` dict1 = {'Name': '冰丽', 'Age': 20, 'Class': 'wangxin1'} del dict1['Name'] # 删除键 'Name' dict1.clear() # 清空字典 del dict1 # 删除字典 ``` **4、字典键的特性** - 字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。 - 两个重要的点需要记住: 1. 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住 1. 键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。 **5、字典内置函数&方法** **函数:** - len(dict):计算字典元素个数,即键的总数。 - str(dict):输出字典,以可打印的字符串表示。 - type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。 **方法:** ``` 1 、radiansdict.clear() 删除字典内所有元素 2、 radiansdict.copy() 返回一个字典的浅复制 3、 radiansdict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 4、 radiansdict.get(key, default=None) 返回指定键的值,如果键不在字典中返回 default 设置的默认值 5、 key in dict 如果键在字典dict里返回true,否则返回false 6、 radiansdict.items() 以列表返回可遍历的(键, 值) 元组数组 7、 radiansdict.keys() 返回一个迭代器,可以使用 list() 来转换为列表 8、 radiansdict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default 9、 radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里 10、 radiansdict.values() 返回一个迭代器,可以使用 list() 来转换为列表 11、 pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 12、 popitem() 随机返回并删除字典中的最后一对键和值。 ``` ### 集合 1. 集合中元素用{}括起来,列表中元素用[]括起来。 2. 集合不允许元素的重复出现,列表可以 3. 作为一个集合,可以完成差集、交集、并集等集合类操作。 4. 集合的写法:对象之间用逗号分隔,包围在大括号里。 序号 | 方法 | 描述 ----|---------------------------|----------------------------------------- 1 | set.add() | 为集合添加元素 2 | set.clear() | 移除集合中的所有元素 3 | set.copy() | 拷贝一个集合 4 | set.difference() | 返回多个集合的差集 5 | set.difference_update() | 移除集合中的元素,该元素在指定的集合也存在。 6 | set.discard() | 删除集合中指定的元素 7 | set.intersecrion() | 返回集合的交集 8 | set.intersection_update() | 返回集合的交集 9 | ste.isdisjoint() | 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 10 | set.issubset() | 判断指定集合是否为该方法参数集合的子集。 11 | set.issuperset() | 判断该方法的参数集合是否为指定集合的子集 12 | set.pop() | 随机移除元素 13 | set.remove() | 移除制定元素 14 | set.symmetric_difference() | 返回两个集合中不重复的元素集合 15 | set.symmetric_difference_update() | 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。 16 | set.union() | 返回两个集合的并集 17 | set.update() | 给集合添加元素 ### 猜数字游戏 ``` import getpass key = getpass.getpass("请输入数字答案:") key_number = int(key) count=0 while True: if count<5: guess=input("请输入一个数字:") guess_number=int(guess) if guess_number==key_number: print("嘿嘿!恭喜你猜对啦!!!") break elif guess_number>key_number: print("你输入的数字太大啦!") elif guess_number