Skip to content

Commit 7817c8a

Browse files
committed
新增了《为什么我选择了Python》
1 parent 9fdf387 commit 7817c8a

8 files changed

+204
-12
lines changed

Day01-15/07.字符串和常用数据结构.md

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ if __name__ == '__main__':
276276

277277
### 使用元组
278278

279-
Python 中的元组与列表类似也是一种容器数据类型,可以用一个变量(对象)来存储多个数据,不同之处在于元组的元素不能修改,在前面的代码中我们已经不止一次使用过元组了。顾名思义,我们把多个元素组合到一起就形成了一个元组,所以它和列表一样可以保存多条数据。下面的代码演示了如何定义和使用元组。
279+
Python中的元组与列表类似也是一种容器数据类型,可以用一个变量(对象)来存储多个数据,不同之处在于元组的元素不能修改,在前面的代码中我们已经不止一次使用过元组了。顾名思义,我们把多个元素组合到一起就形成了一个元组,所以它和列表一样可以保存多条数据。下面的代码演示了如何定义和使用元组。
280280

281281
```Python
282282
# 定义元组
@@ -319,30 +319,38 @@ Python中的集合跟数学上的集合是一致的,不允许有重复元素
319319

320320
![](./res/python-set.png)
321321

322+
可以按照下面代码所示的方式来创建和使用集合。
323+
322324
```Python
325+
# 创建集合的字面量语法
323326
set1 = {1, 2, 3, 3, 3, 2}
324327
print(set1)
325328
print('Length =', len(set1))
329+
# 创建集合的构造器语法(面向对象部分会进行详细讲解)
326330
set2 = set(range(1, 10))
327-
print(set2)
331+
set3 = set((1, 2, 3, 3, 2, 1))
332+
print(set2, set3)
333+
# 创建集合的推导式语法(推导式也可以用于推导集合)
334+
set4 = {num for num in range(100) if num % 3 == 0 or num % 5 == 0}
335+
```
336+
337+
向集合添加元素和从集合删除元素。
338+
339+
```Python
328340
set1.add(4)
329341
set1.add(5)
330342
set2.update([11, 12])
331-
print(set1)
332-
print(set2)
333343
set2.discard(5)
334-
# remove的元素如果不存在会引发KeyError
335344
if 4 in set2:
336345
set2.remove(4)
337-
print(set2)
338-
# 遍历集合容器
339-
for elem in set2:
340-
print(elem ** 2, end=' ')
341-
print()
342-
# 将元组转换成集合
343-
set3 = set((1, 2, 3, 3, 2, 1))
346+
print(set1, set2)
344347
print(set3.pop())
345348
print(set3)
349+
```
350+
351+
集合的成员、交集、并集、差集等运算。
352+
353+
```Python
346354
# 集合的交集、并集、差集、对称差运算
347355
print(set1 & set2)
348356
# print(set1.intersection(set2))

番外篇/code/Test01.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
class Test01 {
2+
3+
public static void main(String[] args) {
4+
System.out.println("hello, world!");
5+
}
6+
}

番外篇/code/Test02.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Test02 {
2+
3+
public static void main(String[] args) {
4+
int total = 0;
5+
for (int i = 1; i <= 100; ++i) {
6+
total += i;
7+
}
8+
System.out.println(total);
9+
}
10+
}

番外篇/code/Test03.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import java.util.List;
2+
import java.util.ArrayList;
3+
import java.util.Collections;
4+
5+
class Test03 {
6+
7+
/**
8+
* 产生[min, max)范围的随机整数
9+
*/
10+
public static int randomInt(int min, int max) {
11+
return (int) (Math.random() * (max - min) + min);
12+
}
13+
14+
public static void main(String[] args) {
15+
List<Integer> redBalls = new ArrayList<>();
16+
for (int i = 1; i <= 33; ++i) {
17+
redBalls.add(i);
18+
}
19+
List<Integer> selectedBalls = new ArrayList<>();
20+
for (int i = 0; i < 6; ++i) {
21+
selectedBalls.add(redBalls.remove(randomInt(0, redBalls.size())));
22+
}
23+
Collections.sort(selectedBalls);
24+
selectedBalls.add(randomInt(1, 17));
25+
for (int i = 0; i < selectedBalls.size(); ++i) {
26+
System.out.printf("%02d ", selectedBalls.get(i));
27+
if (i == selectedBalls.size() - 2) {
28+
System.out.print("| ");
29+
}
30+
}
31+
System.out.println();
32+
}
33+
}

番外篇/code/test01.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
print('hello, world!')

番外篇/code/test02.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
print(sum(range(1, 101)))

番外篇/code/test03.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from random import randint, sample
2+
3+
# 初始化备选红色球
4+
red_balls = [x for x in range(1, 34)]
5+
# 选出六个红色球
6+
selected_balls = sample(red_balls, 6)
7+
# 对红色球进行排序
8+
selected_balls.sort()
9+
# 添加一个蓝色球
10+
selected_balls.append(randint(1, 16))
11+
# 输出选中的随机号码
12+
for index, ball in enumerate(selected_balls):
13+
print('%02d' % ball, end=' ')
14+
if index == len(selected_balls) - 2:
15+
print('|', end=' ')
16+
print()
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
## 为什么我选择了Python
2+
3+
目前,Python语言的发展势头在国内国外都是不可阻挡的,Python凭借其简单优雅的语法,强大的生态圈从众多语言中脱颖而出,如今已经是稳坐编程语言排行榜前三的位置。国内很多Python开发者都是从Java开发者跨界过来的,我自己也不例外。我简单的跟大家交代一下,我为什么选择了Python。
4+
5+
### Python vs. Java
6+
7+
我们通过几个例子来比较一下,做同样的事情Java和Python的代码都是怎么写的。
8+
9+
例子1:在终端中输出“hello, world”。
10+
11+
Java代码:
12+
13+
```Java
14+
class Test {
15+
16+
public static void main(String[] args) {
17+
System.out.println("hello, world");
18+
}
19+
}
20+
```
21+
22+
Python代码:
23+
24+
```Python
25+
print('hello, world')
26+
```
27+
28+
例子2:从1到100求和。
29+
30+
Java代码:
31+
32+
```Java
33+
class Test {
34+
35+
public static void main(String[] args) {
36+
int total = 0;
37+
for (int i = 1; i <= 100; i += 1) {
38+
total += i;
39+
}
40+
System.out.println(total);
41+
}
42+
}
43+
```
44+
45+
Python代码:
46+
47+
```Python
48+
print(sum(range(1, 101)))
49+
```
50+
51+
例子3:双色球随机选号。
52+
53+
Java代码:
54+
55+
```Java
56+
import java.util.List;
57+
import java.util.ArrayList;
58+
import java.util.Collections;
59+
60+
class Test {
61+
62+
/**
63+
* 产生[min, max)范围的随机整数
64+
*/
65+
public static int randomInt(int min, int max) {
66+
return (int) (Math.random() * (max - min) + min);
67+
}
68+
69+
public static void main(String[] args) {
70+
// 初始化备选红色球
71+
List<Integer> redBalls = new ArrayList<>();
72+
for (int i = 1; i <= 33; ++i) {
73+
redBalls.add(i);
74+
}
75+
List<Integer> selectedBalls = new ArrayList<>();
76+
// 选出六个红色球
77+
for (int i = 0; i < 6; ++i) {
78+
selectedBalls.add(redBalls.remove(randomInt(0, redBalls.size())));
79+
}
80+
// 对红色球进行排序
81+
Collections.sort(selectedBalls);
82+
// 添加一个蓝色球
83+
selectedBalls.add(randomInt(1, 17));
84+
// 输出选中的随机号码
85+
for (int i = 0; i < selectedBalls.size(); ++i) {
86+
System.out.printf("%02d ", selectedBalls.get(i));
87+
if (i == selectedBalls.size() - 2) {
88+
System.out.print("| ");
89+
}
90+
}
91+
System.out.println();
92+
}
93+
}
94+
```
95+
96+
Python代码:
97+
98+
```Python
99+
from random import randint, sample
100+
101+
# 初始化备选红色球
102+
red_balls = [x for x in range(1, 34)]
103+
# 选出六个红色球
104+
selected_balls = sample(red_balls, 6)
105+
# 对红色球进行排序
106+
selected_balls.sort()
107+
# 添加一个蓝色球
108+
selected_balls.append(randint(1, 16))
109+
# 输出选中的随机号码
110+
for index, ball in enumerate(selected_balls):
111+
print('%02d' % ball, end=' ')
112+
if index == len(selected_balls) - 2:
113+
print('|', end=' ')
114+
print()
115+
```
116+
117+
相信,看完这些例子后,你一定感受到了我选择了Python是有道理的。

0 commit comments

Comments
 (0)