Skip to content

Commit

Permalink
更新了第1天到第4天的文档
Browse files Browse the repository at this point in the history
  • Loading branch information
jackfrued committed Sep 23, 2019
1 parent 4fa36c9 commit 1eec25a
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 37 deletions.
10 changes: 4 additions & 6 deletions Day01-15/01.初识Python.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,11 +190,11 @@ pip3 install ipython

![](./res/python-ipython.png)

#### Sublime - 高级文本编辑器
#### Sublime Text - 高级文本编辑器

![](./res/python-sublime.png)

- 首先可以通过[官方网站](https://www.sublimetext.com/)下载安装程序安装Sublime 3或Sublime 2。
- 首先可以通过[官方网站](https://www.sublimetext.com/)下载安装程序安装Sublime Text 3或Sublime Text 2。

- 安装包管理工具。
1. 通过快捷键Ctrl+`或者在View菜单中选择Show Console打开控制台,输入下面的代码。
Expand All @@ -209,9 +209,7 @@ pip3 install ipython
```Python
import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp)ifnotos.path.exists(ipp)elseNone;urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read());print('Please restart Sublime Text to finish installation')
```
2. 手动安装浏览器输入 https://sublime.wbond.net/Package%20Control.sublime-package 下载这个文件
下载好以后,打开sublime text,选择菜单Preferences->Browse Packages... 打开安装目录
此时会进入到一个叫做Packages的目录下,点击进入上一层目录Sublime Text3,在此目录下有一个文件夹叫做Installed Packages,把刚才下载的文件放到这里就可以了。然后重启sublime text3,观察Preferences菜单最下边是否有Package Settings 和Package Control两个选项,如果有,则代表安装成功了。
2. 在浏览器中输入 https://sublime.wbond.net/Package%20Control.sublime-package 下载包管理工具的安装包,并找到安装Sublime目录下名为"Installed Packages"的目录,把刚才下载的文件放到这个文件加下,然后重启Sublime Text就搞定了。


- 安装插件。通过Preference菜单的Package Control或快捷键Ctrl+Shift+P打开命令面板,在面板中输入Install Package就可以找到安装插件的工具,然后再查找需要的插件。我们推荐大家安装以下几个插件:
Expand All @@ -222,7 +220,7 @@ pip3 install ipython
- Python PEP8 Autoformat - PEP8规范自动格式化插件。
- ConvertToUTF8 - 将本地编码转换为UTF-8。

> 说明:事实上[Visual Studio Code]()可能是更好的选择,它不用花钱并提供了更为完整和强大的功能,有兴趣的读者可以自行研究。
> 说明:事实上[Visual Studio Code](<https://code.visualstudio.com/>)可能是更好的选择,它不用花钱并提供了更为完整和强大的功能,有兴趣的读者可以自行研究。
#### PyCharm - Python开发神器

Expand Down
54 changes: 34 additions & 20 deletions Day01-15/02.语言元素.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ print(type(d))
print(type(e))
```

> 说明:上面的代码中用到了Python中的内置函数,如果暂时不理解函数这个概念也不要紧,我们会在后续的内容中专门讲解Python中函数的使用
> 说明:上面的代码中用到了Python中的内置函数`type`来获得变量的数据类型,程序设计中函数的概念跟数学上函数的概念是一致的,数学上的函数相信大家并不陌生,它包括了函数名、自变量和因变量。如果暂时不理解这个概念也不要紧,我们会在后续的章节中专门讲解函数的定义和使用
在对变量类型进行转换时可以使用Python的内置函数。

Expand Down Expand Up @@ -129,39 +129,53 @@ Python支持多种运算符,下表大致按照优先级从高到低的顺序

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

```Python
"""
运算符的使用
赋值和算术运算符的使用
Version: 0.1
Author: 骆昊
"""

a = 5
b = 10
c = 3
d = 4
e = 5
a += b
a -= c
a *= d
a /= e
print("a = ", a)
a = 10
b = 3
print(a + b) # 13
print(a - b) # 7
print(a * b) # 30
print(a / b) # 3.3333333333333335
print(a // b) # 3
print(a ** b) # 1000
print((a - 1) ** 0.5) # 3.0
c = 4
c += b # 相当于:c = c + b
c *= a + 2 # 相当于:c = c * (a + 2)
print(c) # 想想这个地方是多少
```

下面的例子演示了比较运算符(关系运算符)、逻辑运算符和身份运算符的使用。

```Python
"""
比较、逻辑和算身份运算符的使用
Version: 0.1
Author: 骆昊
"""

flag1 = 3 > 2
flag2 = 2 < 1
flag3 = flag1 and flag2
flag4 = flag1 or flag2
flag5 = not flag1
print("flag1 = ", flag1)
print("flag2 = ", flag2)
print("flag3 = ", flag3)
print("flag4 = ", flag4)
print("flag5 = ", flag5)
print(flag1 is True)
print(flag2 is not False)
print("flag1 = ", flag1) # flag1 = True
print("flag2 = ", flag2) # flag2 = False
print("flag3 = ", flag3) # flag3 = False
print("flag4 = ", flag4) # flag4 = True
print("flag5 = ", flag5) # flag5 = False
print(flag1 is True) # True
print(flag2 is not False) # False
```

### 练习
Expand Down
10 changes: 3 additions & 7 deletions Day01-15/03.分支结构.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,7 @@ Author: 骆昊

username = input('请输入用户名: ')
password = input('请输入口令: ')
# 如果希望输入口令时 终端中没有回显 可以使用getpass模块的getpass函数
# import getpass
# password = getpass.getpass('请输入口令: ')
# 用户名是admin且密码是123456则身份验证成功否则身份验证失败
if username == 'admin' and password == '123456':
print('身份验证成功!')
else:
Expand Down Expand Up @@ -171,20 +169,18 @@ Version: 0.1
Author: 骆昊
"""

import math

a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a + b > c and a + c > b and b + c > a:
print('周长: %f' % (a + b + c))
p = (a + b + c) / 2
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
area = (p * (p - a) * (p - b) * (p - c)) ** 0.5
print('面积: %f' % (area))
else:
print('不能构成三角形')
```
> **说明:** 上面的代码中使用了`math`模块的`sqrt`函数来计算平方根。用边长计算三角形面积的公式叫做[海伦公式](https://zh.wikipedia.org/zh-hans/海伦公式)
> **说明:** 上面使用的通过边长计算三角形面积的公式叫做[海伦公式](https://zh.wikipedia.org/zh-hans/海伦公式)
#### 练习5:个人所得税计算器。

Expand Down
10 changes: 6 additions & 4 deletions Day01-15/04.循环结构.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

### 应用场景

如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令。当然你可能已经注意到了,刚才的描述中其实不仅仅有需要重复的动作,还有我们上一个章节讲到的分支结构。再举一个简单的例子,比如在我们的程序中要实现每隔1秒中在屏幕上打印一个&quot;hello, world&quot;这样的字符串并持续一个小时,我们肯定不能够将`print('hello, world')`这句代码写上3600遍,如果真的需要这样做,那么编程的工作就太无聊了。因此,我们还需要了解一下循环结构,有了循环结构我们就可以轻松的控制某件事或者某些事重复、重复、再重复的去执行。
如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令。当然你可能已经注意到了,刚才的描述中不仅仅有需要重复的动作,还需要用到上一章讲的分支结构。再举一个简单的例子,我们要实现一个每隔1秒中在屏幕上打印一次&quot;hello, world&quot;并持续打印一个小时的程序,我们肯定不能够直接把`print('hello, world')`这句代码写3600遍,如果真的要这样做,那么编程的工作就太无聊乏味了。因此,我们还需要了解一下循环结构,有了循环结构我们就可以轻松的控制某件事或者某些事重复、重复、再重复的去执行。

在Python中构造循环结构有两种做法,一种是`for-in`循环,一种是`while`循环。

Expand All @@ -24,11 +24,11 @@ for x in range(101):
print(sum)
```

需要说明的是上面代码中的`range`类型,`range`可以用来产生一个不变的数值序列,而且这个序列通常都是用在循环中的,例如:
需要说明的是上面代码中的`range(101)`可以用来构造一个从0到100的取值范围,这样就可以构造出一个整数的序列并用于循环中,例如:

- `range(101)`可以产生一个0到100的整数序列。
- `range(1, 100)`可以产生一个1到99的整数序列。
- `range(1, 100, 2)`可以产生一个1到99的奇数序列,其中的2是步长,即数值序列的增量。
- `range(1, 100, 2)`可以产生一个1到99的奇数序列,其中2是步长,即数值序列的增量。

知道了这一点,我们可以用下面的代码来实现1~100之间的偶数求和。

Expand Down Expand Up @@ -96,7 +96,7 @@ if counter > 7:
print('你的智商余额明显不足')
```

> **说明:** 上面的代码中使用了`break`关键字来提前终止循环,需要注意的是`break`只能终止它所在的那个循环,这一点在使用嵌套的循环结构(下面会讲到)需要引起注意。除了`break`之外,还有另一个关键字是`continue`,它可以用来放弃本次循环后续的代码直接让循环进入下一轮。
上面的代码中使用了`break`关键字来提前终止循环,需要注意的是`break`只能终止它所在的那个循环,这一点在使用嵌套的循环结构(下面会讲到)需要引起注意。除了`break`之外,还有另一个关键字是`continue`,它可以用来放弃本次循环后续的代码直接让循环进入下一轮。

和分支结构一样,循环结构也是可以嵌套的,也就是说在循环中还可以构造循环结构。下面的例子演示了如何通过嵌套的循环来输出一个九九乘法表。

Expand Down Expand Up @@ -154,7 +154,9 @@ Date: 2018-03-01

x = int(input('x = '))
y = int(input('y = '))
# 如果x大于y就交换x和y的值
if x > y:
# 通过下面的操作将y的值赋给x, 将x的值赋给y
x, y = y, x
for factor in range(x, 0, -1):
if x % factor == 0 and y % factor == 0:
Expand Down

0 comments on commit 1eec25a

Please sign in to comment.