forked from ITStudio_OUC/ProgrammeHomework
更新 written.md
This commit is contained in:
+16
-2
@@ -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)
|
c = copy.deepcopy(a)
|
||||||
```
|
```
|
||||||
|
|
||||||
(在此作答)
|
(在此作答)b是a的浅层copy,而c则是a的深层copy,c相对而言更独立(不受a的影响),所以最后b是[[1, 2, 99], [3, 4]]
|
||||||
|
而c没变
|
||||||
|
|
||||||
### 第 2 题:字典与列表的综合应用
|
### 第 2 题:字典与列表的综合应用
|
||||||
|
|
||||||
@@ -203,6 +204,9 @@ logs = [
|
|||||||
3. 解释为什么第 2 问不能直接用 `len(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 题:异常处理设计
|
### 第 3 题:异常处理设计
|
||||||
|
|
||||||
@@ -218,3 +222,13 @@ Day_10 中你写过 `safe_int(s)` 函数:能转就返回整数,不能转就
|
|||||||
请写出函数代码,并说明:为什么这里用 `try/except` 比先用 `if` 判断再计算更好?
|
请写出函数代码,并说明:为什么这里用 `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可以让代码更简洁
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user