Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7e02cb3

Browse files
Merge pull request jackfrued#70 from Geekya215/master
修复DAY1~DAY15文档中错误
2 parents 7794d98 + 8913e0d commit 7e02cb3

20 files changed

Lines changed: 52 additions & 52 deletions

‎Day01-15/Day02/语言元素.md‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,11 @@ print(type(e))
9999

100100
在对变量类型进行转换时可以使用Python的内置函数(准确的说下面列出的并不是真正意义上的函数,而是后面我们要讲到的创建对象的构造方法)。
101101

102-
- int():将一个数值或字符串转换成整数,可以指定进制。
103-
- float():将一个字符串转换成浮点数。
104-
- str():将指定的对象转换成字符串形式,可以指定编码。
105-
- chr():将整数转换成该编码对应的字符串(一个字符)。
106-
- ord():将字符串(一个字符)转换成对应的编码(整数)。
102+
- `int()`:将一个数值或字符串转换成整数,可以指定进制。
103+
- `float()`:将一个字符串转换成浮点数。
104+
- `str()`:将指定的对象转换成字符串形式,可以指定编码。
105+
- `chr()`:将整数转换成该编码对应的字符串(一个字符)。
106+
- `ord()`:将字符串(一个字符)转换成对应的编码(整数)。
107107

108108
### 运算符
109109

@@ -118,15 +118,15 @@ Python支持多种运算符,下表大致按照优先级从高到低的顺序
118118
| `+` `-` | 加,减 |
119119
| `>>` `<<` | 右移,左移 |
120120
| `&` | 按位与 |
121-
| `^` `|` | 按位异或,按位或 |
121+
| `^` `\|` | 按位异或,按位或 |
122122
| `<=` `<` `>` `>=` | 小于等于,小于,大于,大于等于 |
123123
| `==` `!=` | 等于,不等于 |
124124
| `is` `is not` | 身份运算符 |
125125
| `in` `not in` | 成员运算符 |
126126
| `not` `or` `and` | 逻辑运算符 |
127-
| `=` `+=` `-=` `*=` `/=` `%=` `//=` `**=` `&=` `|=``^=``>>=``<<=` | (复合)赋值运算符 |
127+
| `=` `+=` `-=` `*=` `/=` `%=` `//=` `**=` `&=` `\|=` `^=` `>>=` `<<=` | (复合)赋值运算符 |
128128

129-
>**说明:**在实际开发中,如果搞不清楚优先级可以使用括号来确保运算的执行顺序。
129+
>**说明:**在实际开发中,如果搞不清楚优先级可以使用括号来确保运算的执行顺序。
130130
131131
下面的例子演示了运算符的使用。
132132

‎Day01-15/Day03/res/formula_1.png‎

1.89 KB
Loading[フレーム]

‎Day01-15/Day03/分支结构.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ else:
3131

3232
当然如果要构造出更多的分支,可以使用`if...elif...else...`结构,例如下面的分段函数求值。
3333

34-
$$f(x)=\begin{cases} 3x-5&\text{(x>1)}\\x+2&\text{(-1}\leq\text{x}\leq\text{1)}\5円x+3&\text {(x<-1)}\end{cases}$$
34+
![$$f(x)=\begin{cases} 3x-5&\text{(x>1)}\\x+2&\text{(-1}\leq\text{x}\leq\text{1)}\5円x+3&\text {(x<-1)}\end{cases}$$](./res/formula_1.png)
3535

3636
```Python
3737
"""
@@ -79,7 +79,7 @@ else:
7979
print('f(%.2f) = %.2f' % (x, y))
8080
```
8181

82-
> **说明:**大家可以自己感受一下这两种写法到底是哪一种更好。在之前我们提到的Python之禅中有这么一句话"Flat is better than nested.",之所以提出这个观点是因为嵌套结构的嵌套层次多了之后会严重的影响代码的可读性,如果可以使用扁平化的结构就不要去用嵌套,因此之前的写法是更好的做法。
82+
> **说明:**大家可以自己感受一下这两种写法到底是哪一种更好。在之前我们提到的Python之禅中有这么一句话"Flat is better than nested.",之所以提出这个观点是因为嵌套结构的嵌套层次多了之后会严重的影响代码的可读性,如果可以使用扁平化的结构就不要去用嵌套,因此之前的写法是更好的做法。
8383
8484
### 练习
8585

@@ -130,7 +130,7 @@ else:
130130
result = '讲冷笑话'
131131
print(result)
132132
```
133-
> **说明:**上面的代码中使用了random模块的randint函数生成指定范围的随机数来模拟掷骰子。
133+
> **说明:**上面的代码中使用了random模块的randint函数生成指定范围的随机数来模拟掷骰子。
134134
135135
#### 练习3:百分制成绩转等级制
136136

@@ -184,7 +184,7 @@ if a + b > c and a + c > b and b + c > a:
184184
else:
185185
print('不能构成三角形')
186186
```
187-
> **说明:**上面的代码中使用了`math`模块的`sqrt`函数来计算平方根。用边长计算三角形面积的公式叫做[海伦公式](https://zh.wikipedia.org/zh-hans/海伦公式)
187+
> **说明:**上面的代码中使用了`math`模块的`sqrt`函数来计算平方根。用边长计算三角形面积的公式叫做[海伦公式](https://zh.wikipedia.org/zh-hans/海伦公式)
188188
189189
#### 练习5:个人所得税计算器。
190190

@@ -227,4 +227,4 @@ tax = abs(diff * rate - deduction)
227227
print('个人所得税: \%.2f' % tax)
228228
print('实际到手收入: \%.2f' % (diff + 3500 - tax))
229229
```
230-
>**说明:**上面的代码中使用了Python内置的`abs()`函数取绝对值来处理`-0`的问题。
230+
>**说明:**上面的代码中使用了Python内置的`abs()`函数取绝对值来处理`-0`的问题。

‎Day01-15/Day04/res/formula_1.png‎

487 Bytes
Loading[フレーム]

‎Day01-15/Day04/循环结构.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
### for-in循环
88

9-
如果明确的知道循环执行的次数或者是要对一个容器进行迭代(后面会讲到),那么我们推荐使用`for-in`循环,例如下面代码中计算$\sum_{n=1}^{100}n$。
9+
如果明确的知道循环执行的次数或者是要对一个容器进行迭代(后面会讲到),那么我们推荐使用`for-in`循环,例如下面代码中计算![$\sum_{n=1}^{100}n$](./res/formula_1.png)
1010

1111
```Python
1212
"""
@@ -94,7 +94,7 @@ if counter > 7:
9494
print('你的智商余额明显不足')
9595
```
9696

97-
> **说明:**上面的代码中使用了`break`关键字来提前终止循环,需要注意的是`break`只能终止它所在的那个循环,这一点在使用嵌套的循环结构(下面会讲到)需要引起注意。除了`break`之外,还有另一个关键字是`continue`,它可以用来放弃本次循环后续的代码直接让循环进入下一轮。
97+
> **说明:**上面的代码中使用了`break`关键字来提前终止循环,需要注意的是`break`只能终止它所在的那个循环,这一点在使用嵌套的循环结构(下面会讲到)需要引起注意。除了`break`之外,还有另一个关键字是`continue`,它可以用来放弃本次循环后续的代码直接让循环进入下一轮。
9898
9999
和分支结构一样,循环结构也是可以嵌套的,也就是说在循环中还可以构造循环结构。下面的例子演示了如何通过嵌套的循环来输出一个九九乘法表。
100100

‎Day01-15/Day06/res/formula_1.png‎

618 Bytes
Loading[フレーム]

‎Day01-15/Day06/res/formula_2.png‎

1.24 KB
Loading[フレーム]

‎Day01-15/Day06/函数和模块的使用.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解。
44

5-
$$x_1 + x_2 + x_3 + x_4 = 8$$
5+
![$$x_1 + x_2 + x_3 + x_4 = 8$$](./res/formula_1.png)
66

77
事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案。想到这一点问题的答案就呼之欲出了。
88

9-
$$C_M^N =\frac{M!}{N!(M-N)!}, \text{(M=7, N=3)} $$
9+
![$$C_M^N =\frac{M!}{N!(M-N)!}, \text{(M=7, N=3)} $$](./res/formula_2.png)
1010

1111
可以用Python的程序来计算出这个值,代码如下所示。
1212

@@ -59,7 +59,7 @@ n = int(input('n = '))
5959
print(factorial(m) // factorial(n) // factorial(m - n))
6060
```
6161

62-
> **说明:**Python的math模块中其实已经有一个factorial函数了,事实上要计算阶乘可以直接使用这个现成的函数而不用自己定义。下面例子中的某些函数其实Python中也是内置了,我们这里是为了讲解函数的定义和使用才把它们又实现了一遍,实际开发中不建议做这种低级的重复性的工作。
62+
> **说明:**Python的math模块中其实已经有一个factorial函数了,事实上要计算阶乘可以直接使用这个现成的函数而不用自己定义。下面例子中的某些函数其实Python中也是内置了,我们这里是为了讲解函数的定义和使用才把它们又实现了一遍,实际开发中不建议做这种低级的重复性的工作。
6363
6464

6565
### 函数的参数
@@ -337,7 +337,7 @@ if __name__ == '__main__':
337337

338338
在实际开发中,我们应该尽量减少对全局变量的使用,因为全局变量的作用域和影响过于广泛,可能会发生意料之外的修改和使用,除此之外全局变量比局部变量拥有更长的生命周期,可能导致对象占用的内存长时间无法被[垃圾回收](https://zh.wikipedia.org/wiki/%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6_(%E8%A8%88%E7%AE%97%E6%A9%9F%E7%A7%91%E5%AD%B8))。事实上,减少对全局变量的使用,也是降低代码之间耦合度的一个重要举措,同时也是对[迪米特法则](https://zh.wikipedia.org/zh-hans/%E5%BE%97%E5%A2%A8%E5%BF%92%E8%80%B3%E5%AE%9A%E5%BE%8B)的践行。减少全局变量的使用就意味着我们应该尽量让变量的作用域在函数的内部,但是如果我们希望将一个局部变量的生命周期延长,使其在函数调用结束后依然可以访问,这时候就需要使用[闭包](https://zh.wikipedia.org/wiki/%E9%97%AD%E5%8C%85_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6)),这个我们在后续的内容中进行讲解。
339339

340-
> **说明**:很多人经常会将"闭包"一词和["匿名函数"](https://zh.wikipedia.org/wiki/%E5%8C%BF%E5%90%8D%E5%87%BD%E6%95%B0)混为一谈,但实际上它们是不同的概念,如果想提前了解这个概念,推荐看看[维基百科](https://zh.wikipedia.org/wiki/)或者[知乎](https://www.zhihu.com/)上对这个概念的讨论。
340+
> **说明:**很多人经常会将"闭包"一词和["匿名函数"](https://zh.wikipedia.org/wiki/%E5%8C%BF%E5%90%8D%E5%87%BD%E6%95%B0)混为一谈,但实际上它们是不同的概念,如果想提前了解这个概念,推荐看看[维基百科](https://zh.wikipedia.org/wiki/)或者[知乎](https://www.zhihu.com/)上对这个概念的讨论。
341341
342342
说了那么多,其实结论很简单,从现在开始我们可以将Python代码按照下面的格式进行书写,这一点点的改进其实就是在我们理解了函数和作用域的基础上跨出的巨大的一步。
343343

‎Day01-15/Day07/res/formula_1.png‎

816 Bytes
Loading[フレーム]

‎Day01-15/Day07/res/formula_2.png‎

365 Bytes
Loading[フレーム]

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /