Skip to content

Commit e9d13db

Browse files
committed
更新了第1天到第9天的文档
1 parent 8c9ae82 commit e9d13db

10 files changed

+335
-167
lines changed

Day01-15/01.初识Python.md

+2
Original file line numberDiff line numberDiff line change
@@ -259,3 +259,5 @@ PyCharm的安装、配置和使用在[《玩转PyCharm》](../玩转PyCharm.md)
259259

260260
turtle.mainloop()
261261
```
262+
263+
> 提示:本章提供的代码中还有画国旗和画小猪佩奇的代码,有兴趣的读者请自行研究。

Day01-15/02.语言元素.md

+59-54
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
- 浮点型:浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如`123.456`)之外还支持科学计数法(如`1.23456e2`)。
1515
- 字符串型:字符串是以单引号或双引号括起来的任意文本,比如`'hello'``"hello"`,字符串还有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,而且可以书写成多行的形式(用三个单引号或三个双引号开头,三个单引号或三个双引号结尾)。
1616
- 布尔型:布尔值只有`True``False`两种值,要么是`True`,要么是`False`,在Python中,可以直接用`True``False`表示布尔值(请注意大小写),也可以通过布尔运算计算出来(例如`3 < 5`会产生布尔值`True`,而`2 == 1`会产生布尔值`False`)。
17-
- 复数型:形如`3+5j`,跟数学上的复数表示一样,唯一不同的是虚部的`i`换成了`j`
17+
- 复数型:形如`3+5j`,跟数学上的复数表示一样,唯一不同的是虚部的`i`换成了`j`实际上,这个类型并不能算作常用类型,大家了解下就可以了。
1818

1919
#### 变量命名
2020

@@ -54,26 +54,7 @@ print(a % b)
5454
print(a ** b)
5555
```
5656

57-
```Python
58-
"""
59-
使用input()函数获取键盘输入
60-
使用int()进行类型转换
61-
用占位符格式化输出的字符串
62-
63-
Version: 0.1
64-
Author: 骆昊
65-
"""
66-
67-
a = int(input('a = '))
68-
b = int(input('b = '))
69-
print('%d + %d = %d' % (a, b, a + b))
70-
print('%d - %d = %d' % (a, b, a - b))
71-
print('%d * %d = %d' % (a, b, a * b))
72-
print('%d / %d = %f' % (a, b, a / b))
73-
print('%d // %d = %d' % (a, b, a // b))
74-
print('%d %% %d = %d' % (a, b, a % b))
75-
print('%d ** %d = %d' % (a, b, a ** b))
76-
```
57+
在Python中可以使用`type`函数对变量的类型进行检查。程序设计中函数的概念跟数学上函数的概念是一致的,数学上的函数相信大家并不陌生,它包括了函数名、自变量和因变量。如果暂时不理解这个概念也不要紧,我们会在后续的章节中专门讲解函数的定义和使用。
7758

7859
```Python
7960
"""
@@ -89,26 +70,49 @@ b = 12.345
8970
c = 1 + 5j
9071
d = 'hello, world'
9172
e = True
92-
print(type(a))
93-
print(type(b))
94-
print(type(c))
95-
print(type(d))
96-
print(type(e))
73+
print(type(a)) # <class 'int'>
74+
print(type(b)) # <class 'float'>
75+
print(type(c)) # <class 'complex'>
76+
print(type(d)) # <class 'str'>
77+
print(type(e)) # <class 'bool'>
9778
```
9879

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

10382
- `int()`:将一个数值或字符串转换成整数,可以指定进制。
10483
- `float()`:将一个字符串转换成浮点数。
10584
- `str()`:将指定的对象转换成字符串形式,可以指定编码。
10685
- `chr()`:将整数转换成该编码对应的字符串(一个字符)。
10786
- `ord()`:将字符串(一个字符)转换成对应的编码(整数)。
10887

88+
下面的代码通过键盘输入两个整数来实现对两个整数的算术运算。
89+
90+
```Python
91+
"""
92+
使用input()函数获取键盘输入(字符串)
93+
使用int()函数将输入的字符串转换成整数
94+
使用print()函数输出带占位符的字符串
95+
96+
Version: 0.1
97+
Author: 骆昊
98+
"""
99+
100+
a = int(input('a = '))
101+
b = int(input('b = '))
102+
print('%d + %d = %d' % (a, b, a + b))
103+
print('%d - %d = %d' % (a, b, a - b))
104+
print('%d * %d = %d' % (a, b, a * b))
105+
print('%d / %d = %f' % (a, b, a / b))
106+
print('%d // %d = %d' % (a, b, a // b))
107+
print('%d %% %d = %d' % (a, b, a % b))
108+
print('%d ** %d = %d' % (a, b, a ** b))
109+
```
110+
111+
> **说明**:上面的print函数中输出的字符串使用了占位符语法,其中`%d`是整数的占位符,`%f`是小数的占位符,`%%`表示百分号(因为百分号代表了占位符,所以带占位符的字符串中要表示百分号必须写成`%%`),字符串之后的`%`后面跟的变量值会替换掉占位符然后输出到终端中,运行上面的程序,看看程序执行结果就明白啦。
112+
109113
### 运算符
110114

111-
Python支持多种运算符,下表大致按照优先级从高到低的顺序列出了所有的运算符,我们会陆续使用到它们
115+
Python支持多种运算符,下表大致按照优先级从高到低的顺序列出了所有的运算符,运算符的优先级指的是多个运算符同时出现时,先做什么运算然后再做什么运算。除了我们之前已经用过的赋值运算符和算术运算符,我们稍后会陆续讲到其他运算符的使用
112116

113117
| 运算符 | 描述 |
114118
| ------------------------------------------------------------ | ------------------------------ |
@@ -129,29 +133,21 @@ Python支持多种运算符,下表大致按照优先级从高到低的顺序
129133

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

134138
```Python
135139
"""
136-
赋值和算术运算符的使用
140+
赋值运算符和复合赋值运算符
137141
138142
Version: 0.1
139143
Author: 骆昊
140144
"""
141145

142146
a = 10
143147
b = 3
144-
print(a + b) # 13
145-
print(a - b) # 7
146-
print(a * b) # 30
147-
print(a / b) # 3.3333333333333335
148-
print(a // b) # 3
149-
print(a ** b) # 1000
150-
print((a - 1) ** 0.5) # 3.0
151-
c = 4
152-
c += b # 相当于:c = c + b
153-
c *= a + 2 # 相当于:c = c * (a + 2)
154-
print(c) # 想想这个地方是多少
148+
a += b # 相当于:a = a + b
149+
a *= a + 2 # 相当于:a = a * (a + 2)
150+
print(a) # 想想这里会输出什么
155151
```
156152

157153
下面的例子演示了比较运算符(关系运算符)、逻辑运算符和身份运算符的使用。
@@ -164,28 +160,33 @@ Version: 0.1
164160
Author: 骆昊
165161
"""
166162

163+
flag0 = 1 == 1
167164
flag1 = 3 > 2
168165
flag2 = 2 < 1
169166
flag3 = flag1 and flag2
170167
flag4 = flag1 or flag2
171-
flag5 = not flag1
172-
print("flag1 = ", flag1) # flag1 = True
173-
print("flag2 = ", flag2) # flag2 = False
174-
print("flag3 = ", flag3) # flag3 = False
175-
print("flag4 = ", flag4) # flag4 = True
176-
print("flag5 = ", flag5) # flag5 = False
168+
flag5 = not (1 != 2)
169+
print('flag0 =', flag0) # flag0 = True
170+
print('flag1 =', flag1) # flag1 = True
171+
print('flag2 =', flag2) # flag2 = False
172+
print('flag3 =', flag3) # flag3 = False
173+
print('flag4 =', flag4) # flag4 = True
174+
print('flag5 =', flag5) # flag5 = False
177175
print(flag1 is True) # True
178176
print(flag2 is not False) # False
179177
```
180178

181179
### 练习
182180

183-
#### 练习1:华氏温度转摄氏温度。
181+
#### 练习1:华氏温度转换为摄氏温度。
182+
183+
> 提示:华氏温度到摄氏温度的转换公式为:$C=(F - 32) \div 1.8$。
184+
185+
参考答案:
184186

185187
```Python
186188
"""
187189
将华氏温度转换为摄氏温度
188-
F = 1.8C + 32
189190
190191
Version: 0.1
191192
Author: 骆昊
@@ -198,6 +199,8 @@ print('%.1f华氏度 = %.1f摄氏度' % (f, c))
198199

199200
#### 练习2:输入圆的半径计算计算周长和面积。
200201

202+
参考答案:
203+
201204
```Python
202205
"""
203206
输入半径计算圆的周长和面积
@@ -217,6 +220,8 @@ print('面积: %.2f' % area)
217220

218221
#### 练习3:输入年份判断是不是闰年。
219222

223+
参考答案:
224+
220225
```Python
221226
"""
222227
输入年份 如果是闰年输出True 否则输出False
@@ -226,9 +231,9 @@ Author: 骆昊
226231
"""
227232

228233
year = int(input('请输入年份: '))
229-
# 如果代码太长写成一行不便于阅读 可以使用\或()折行
230-
is_leap = (year % 4 == 0 and year % 100 != 0 or
231-
year % 400 == 0)
234+
# 如果代码太长写成一行不便于阅读 可以使用\对代码进行折行
235+
is_leap = (year % 4 == 0 and year % 100 != 0) or \
236+
year % 400 == 0
232237
print(is_leap)
233238
```
234239

Day01-15/03.分支结构.md

+11-80
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@ print('f(%.2f) = %.2f' % (x, y))
8181
8282
### 练习
8383

84-
#### 练习1:英制单位与公制单位互换
84+
#### 练习1:英制单位英寸与公制单位厘米互换。
85+
86+
参考答案:
8587

8688
```Python
8789
"""
@@ -101,45 +103,15 @@ else:
101103
print('请输入有效的单位')
102104
```
103105

104-
#### 练习2:掷骰子决定做什么
106+
#### 练习2:百分制成绩转换为等级制成绩。
105107

106-
```Python
107-
"""
108-
掷骰子决定做什么事情
108+
> **要求**:如果输入的成绩在90分以上(含90分)输出A;80分-90分(不含90分)输出B;70分-80分(不含80分)输出C;60分-70分(不含70分)输出D;60分以下输出E。
109109
110-
Version: 0.1
111-
Author: 骆昊
112-
"""
113-
114-
from random import randint
115-
116-
face = randint(1, 6)
117-
if face == 1:
118-
result = '唱首歌'
119-
elif face == 2:
120-
result = '跳个舞'
121-
elif face == 3:
122-
result = '学狗叫'
123-
elif face == 4:
124-
result = '做俯卧撑'
125-
elif face == 5:
126-
result = '念绕口令'
127-
else:
128-
result = '讲冷笑话'
129-
print(result)
130-
```
131-
> **说明:** 上面的代码中使用了random模块的randint函数生成指定范围的随机数来模拟掷骰子。
132-
133-
#### 练习3:百分制成绩转等级制
110+
参考答案:
134111

135112
```Python
136113
"""
137-
百分制成绩转等级制成绩
138-
90分以上 --> A
139-
80分~89分 --> B
140-
70分~79分 --> C
141-
60分~69分 --> D
142-
60分以下 --> E
114+
百分制成绩转换为等级制成绩
143115
144116
Version: 0.1
145117
Author: 骆昊
@@ -158,12 +130,13 @@ else:
158130
grade = 'E'
159131
print('对应的等级是:', grade)
160132
```
161-
#### 练习4:输入三条边长如果能构成三角形就计算周长和面积
133+
#### 练习3:输入三条边长,如果能构成三角形就计算周长和面积。
134+
135+
参考答案:
162136

163137
```Python
164138
"""
165-
判断输入的边长能否构成三角形
166-
如果能则计算出三角形的周长和面积
139+
判断输入的边长能否构成三角形,如果能则计算出三角形的周长和面积
167140
168141
Version: 0.1
169142
Author: 骆昊
@@ -182,45 +155,3 @@ else:
182155
```
183156
> **说明:** 上面使用的通过边长计算三角形面积的公式叫做[海伦公式](https://zh.wikipedia.org/zh-hans/海伦公式)
184157
185-
#### 练习5:个人所得税计算器。
186-
187-
```Python
188-
"""
189-
输入月收入和五险一金计算个人所得税(2019年以前的算法)
190-
191-
Version: 0.1
192-
Author: 骆昊
193-
"""
194-
195-
salary = float(input('本月收入: '))
196-
insurance = float(input('五险一金: '))
197-
diff = salary - insurance - 3500
198-
if diff <= 0:
199-
rate = 0
200-
deduction = 0
201-
elif diff < 1500:
202-
rate = 0.03
203-
deduction = 0
204-
elif diff < 4500:
205-
rate = 0.1
206-
deduction = 105
207-
elif diff < 9000:
208-
rate = 0.2
209-
deduction = 555
210-
elif diff < 35000:
211-
rate = 0.25
212-
deduction = 1005
213-
elif diff < 55000:
214-
rate = 0.3
215-
deduction = 2755
216-
elif diff < 80000:
217-
rate = 0.35
218-
deduction = 5505
219-
else:
220-
rate = 0.45
221-
deduction = 13505
222-
tax = abs(diff * rate - deduction)
223-
print('个人所得税: ¥%.2f' % tax)
224-
print('实际到手收入: ¥%.2f' % (diff + 3500 - tax))
225-
```
226-
>**说明:** 上面的代码中使用了Python内置的`abs()`函数取绝对值来处理`-0`的问题。

0 commit comments

Comments
 (0)