# GESP等级：三级 | GESP Python 三级考点

"""
小测：set 知识点检测
时间：55:00-60:00
"""

# ========== 第1题 ==========
print("=== 第1题 ===")
# set([1, 2, 2, 3]) 的结果是什么？
q1 = set([1, 2, 2, 3])
print(f"set([1, 2, 2, 3]) = {q1}")  # {1, 2, 3}

# ========== 第2题 ==========
print("\n=== 第2题 ===")
# 下面哪个方法在删除不存在的元素时会报错？
# A. discard()   B. remove()   C. pop()   D. add()
print("答案: B. remove()  — 删除不存在元素报 KeyError")
print("     A. discard() — 删除不存在元素不报错")
print("     C. pop()    — 空集合pop才报错")
print("     D. add()    — 添加元素，不涉及删除")

# ========== 第3题 ==========
print("\n=== 第3题 ===")
# {} 创建的是什么？
q3 = {}
print(f"type({{}}) = {type(q3)}")  # <class 'dict'> 不是set！

# ========== 第4题 ==========
print("\n=== 第4题 ===")
# 下面代码的输出是什么？
s = {1, 2, 3}
s.add(2)
s.remove(3)
print(f"结果为: {s}")  # {1, 2}

# ========== 第5题 ==========
print("\n=== 第5题 ===")
# 判断对错：集合中的元素是有序的
print("答案: 错误 ❌")
print("集合是无序的！每次遍历顺序可能不同。")

# ========== 第6题 ==========
print("\n=== 第6题 ===")
# 补全代码：从集合中随机弹出一个元素
data = {10, 20, 30, 40}
popped = data.pop()  # ← 补全
print(f"随机弹出: {popped}")
print(f"剩余: {data}")

print("\n=== 小测结束！===")
