更新 written.md

This commit is contained in:
2026-10-03 11:11:33 +08:00
parent b946fb730f
commit c404fd251c
+16 -2
View File
@@ -163,7 +163,7 @@
### 答案
(在此填写,格式:`1. A 2. B 3. C 4. D 5. A 6. B 7. C 8. D 9. A 10. B`)
(在此填写,格式:`1. B 2.B 3. B 4. B 5. A 6. B 7. B 8. B 9. B 10. B )
---
@@ -182,7 +182,8 @@ import copy
c = copy.deepcopy(a)
```
(在此作答)
(在此作答)b是a的浅层copy,而c则是a的深层copy,c相对而言更独立(不受a的影响),所以最后b是[[1, 2, 99], [3, 4]]
而c没变
### 第 2 题:字典与列表的综合应用
@@ -203,6 +204,9 @@ logs = [
3. 解释为什么第 2 问不能直接用 `len(logs)` 得到结果,需要什么遍历结构?
(在此作答)
1.[log for log in logs if log["level"] == "ERROR"]
2.{user: sum(1 for log in logs if log["user"] == user) for user in set(log["user"] for log in logs)}
3.因为len(logs)是在计算元素数量(5),应该先for遍历提取user的值(先创建空字典),没则计
### 第 3 题:异常处理设计
@@ -218,3 +222,13 @@ Day_10 中你写过 `safe_int(s)` 函数:能转就返回整数,不能转就
请写出函数代码,并说明:为什么这里用 `try/except` 比先用 `if` 判断再计算更好?
(在此作答)
def safe_divide(a, b):
try:
num_a = float(a)
num_b = float(b)
result = num_a / num_b
return result
except (ValueError, ZeroDivisionError):
return None
因为if干的活try/except也可以干,不用if可以让代码更简洁