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)
|
||||
```
|
||||
|
||||
(在此作答)
|
||||
(在此作答)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可以让代码更简洁
|
||||
|
||||
|
||||
Reference in New Issue
Block a user