From 5c75ba0fa00b03664d701659843da834e459aa02 Mon Sep 17 00:00:00 2001 From: w31rd <114269655+w31r4@users.noreply.github.com> Date: Tue, 23 May 2023 02:06:32 +0800 Subject: [PATCH 1/3] =?UTF-8?q?Update=203.6.4.4=E9=98=B6=E6=AE=B5=E5=9B=9B?= =?UTF-8?q?=EF=BC=9A=E9=AB=98=E9=98=B6=E5=87=BD=E6=95=B0.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原版中文需求有一种没上过语文课的纯真美,中文语法也出问题我是没想到的。我还以为只有黑皮书会将中文写的这么漏洞百出,全是语病。我一度以为自己得了阅读障碍。 --- .../3.6.4.4阶段四:高阶函数.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/3.编程思维体系构建/3.6.4.4阶段四:高阶函数.md b/3.编程思维体系构建/3.6.4.4阶段四:高阶函数.md index 3d028de..5330f8b 100644 --- a/3.编程思维体系构建/3.6.4.4阶段四:高阶函数.md +++ b/3.编程思维体系构建/3.6.4.4阶段四:高阶函数.md @@ -76,7 +76,7 @@ ______ # 任务 -P9:我们发现以下两个函数看起来实现的非常相似 +P9:我们发现以下两个函数看起来实现的非常相似,是否可以进行改进,将其整合? ```python def count_factors(n): @@ -111,9 +111,10 @@ def is_prime(n): return count_factors(n) == 2 # only factors are 1 and n ``` -你可以通过一个函数 count_cond 来接受一个含有两个参数的函数 condition(n, i) - -`count_cond` 返回一个单参数函数,它在调用时 `n` 计算从 1 到 `n` 满足的所有数字 `condition`。 +需求: +你需要通过自己写一个函数: `count_cond` ,来接受一个含有两个参数的函数 `condition(n, i)`(使用lambda表达式) +且`condition`函数应该满足第一个参数为N,而第二个参数将会在`condition`函数中遍历 1 to N。 +`count_cond` 将返回一个单参数函数(ps:一个匿名函数),此单参数函数将会在被调用时返回 1 to N 中所有满足`condition`的数字(如:素数,因数)。 ```python def count_cond(condition): From ef8506956a2e15fa3d69fb7be7f2a5bfe6d5d284 Mon Sep 17 00:00:00 2001 From: w31rd <114269655+w31r4@users.noreply.github.com> Date: Tue, 23 May 2023 02:21:31 +0800 Subject: [PATCH 2/3] =?UTF-8?q?Update=203.6.4.3=E9=98=B6=E6=AE=B5=E4=B8=89?= =?UTF-8?q?=EF=BC=9A=E6=95=B0=E6=8D=AE=E6=8A=BD=E8=B1=A1.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 小优化,列表生成式 != 推导式 吧,感觉自己走了点弯路。增加了一条提示 --- 3.编程思维体系构建/3.6.4.3阶段三:数据抽象.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/3.编程思维体系构建/3.6.4.3阶段三:数据抽象.md b/3.编程思维体系构建/3.6.4.3阶段三:数据抽象.md index 625575e..235dfa3 100644 --- a/3.编程思维体系构建/3.6.4.3阶段三:数据抽象.md +++ b/3.编程思维体系构建/3.6.4.3阶段三:数据抽象.md @@ -182,13 +182,14 @@ True P7:9*9 乘法表 -可能现在对你来说,构建像下图这样的 99 乘法表已经是非常容易的一件事了,可是如果我要求你使用 python 的列表生成器,在两行以内完成呢? +可能现在对你来说,构建像下图这样的 99 乘法表已经是非常容易的一件事了,可是如果我要求你使用 python 的推导式,在两行以内完成呢? ![](https://hdu-cs-wiki.oss-cn-hangzhou.aliyuncs.com/boxcnccDSRQj5W3lZWEUkCOHz2b.png) P8:couple 情侣 实现函数 `couple`,它接受两个列表并返回一个列表,其中包含两个序列的第 i 个元素耦合在一起的列表。您可以假设两个序列的长度相同。 +tips:zip(list1,list2) ```python def couple(lst1, lst2): From 2935ef1a207f71e1f4c2fe8ab8a9812b5ea4c983 Mon Sep 17 00:00:00 2001 From: w31rd <114269655+w31r4@users.noreply.github.com> Date: Tue, 23 May 2023 02:47:03 +0800 Subject: [PATCH 3/3] =?UTF-8?q?Update=203.6.4.4=E9=98=B6=E6=AE=B5=E5=9B=9B?= =?UTF-8?q?=EF=BC=9A=E9=AB=98=E9=98=B6=E5=87=BD=E6=95=B0.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化 --- .../3.6.4.4阶段四:高阶函数.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/3.编程思维体系构建/3.6.4.4阶段四:高阶函数.md b/3.编程思维体系构建/3.6.4.4阶段四:高阶函数.md index 5330f8b..d603583 100644 --- a/3.编程思维体系构建/3.6.4.4阶段四:高阶函数.md +++ b/3.编程思维体系构建/3.6.4.4阶段四:高阶函数.md @@ -112,9 +112,12 @@ def is_prime(n): ``` 需求: -你需要通过自己写一个函数: `count_cond` ,来接受一个含有两个参数的函数 `condition(n, i)`(使用lambda表达式) + +你需要通过自己写一个函数: `count_cond` ,来接受一个含有两个参数的函数 `condition(n, i)`(使用lambda表达式), + 且`condition`函数应该满足第一个参数为N,而第二个参数将会在`condition`函数中遍历 1 to N。 -`count_cond` 将返回一个单参数函数(ps:一个匿名函数),此单参数函数将会在被调用时返回 1 to N 中所有满足`condition`的数字(如:素数,因数)。 + +`count_cond` 将返回一个单参数函数(ps:一个匿名函数),此单参数函数将会在被调用时返回 1 to N 中所有满足`condition`的数字的个数(如:1到n中素数的个数)。 ```python def count_cond(condition):