楼主: aboutisan
1303 3

Think Python:How to Think Like a Computer Scientist [推广有奖]

  • 7关注
  • 1粉丝

已卖:321份资源

博士生

21%

还不是VIP/贵宾

-

威望
0
论坛币
440 个
通用积分
5.8498
学术水平
10 点
热心指数
7 点
信用等级
10 点
经验
4561 点
帖子
266
精华
0
在线时间
217 小时
注册时间
2006-11-17
最后登录
2025-4-4

楼主
aboutisan 发表于 2019-8-13 09:03:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
内容简介  · · · · · ·

Think Python is an introduction to Python programming for students with no programming experience. It starts with the most basic concepts of programming, and is carefully designed to define all terms when they are first used and to develop each new concept in a logical progression. Larger pieces, like recursion and object-oriented programming are divided into a sequence of smaller steps and introduced over the course of several chapters.





作者简介  · · · · · ·

Allen Downey is an Associate Professor of Computer Science at the Olin College of Engineering. He has taught computer science at Wellesley College, Colby College and U.C. Berkeley. He has a Ph.D. in Computer Science from U.C. Berkeley and Master’s and Bachelor’s degrees from MIT.




目录  · · · · · ·Preface v
1 The way of the program 1
1.1 The Python programming language . . . . . . . . . . . . . . . . . . . . . . 1
1.2 What is a program? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 What is debugging? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Formal and natural languages . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 The first program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.6 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.7 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 Variables, expressions and statements 11
2.1 Values and types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Variable names and keywords . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Operators and operands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Expressions and statements . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6 Interactive mode and script mode . . . . . . . . . . . . . . . . . . . . . . . . 14
2.7 Order of operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.8 String operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.9 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.10 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.11 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.12 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3 Functions 19
3.1 Function calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 Type conversion functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 Math functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4 Composition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.5 Adding new functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.6 Definitions and uses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.7 Flow of execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.8 Parameters and arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.9 Variables and parameters are local . . . . . . . . . . . . . . . . . . . . . . . 24
3.10 Stack diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.11 Fruitful functions and void functions . . . . . . . . . . . . . . . . . . . . . . 26
3.12 Why functions? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.13 Importing with from . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.14 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.15 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.16 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4 Case study: interface design 31
4.1 TurtleWorld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 Simple repetition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4 Encapsulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5 Generalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.6 Interface design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.7 Refactoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.8 A development plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.9 docstring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.10 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.11 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.12 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5 Conditionals and recursion 41
5.1 Modulus operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 Boolean expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3 Logical operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.4 Conditional execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.5 Alternative execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.6 Chained conditionals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.7 Nested conditionals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.8 Recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.9 Stack diagrams for recursive functions . . . . . . . . . . . . . . . . . . . . . 45
5.10 Infinite recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.11 Keyboard input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.12 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.13 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.14 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6 Fruitful functions 51
6.1 Return values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.2 Incremental development . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.3 Composition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.4 Boolean functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.5 More recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.6 Leap of faith . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.7 One more example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.8 Checking types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.9 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.10 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.11 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7 Iteration 63
7.1 Multiple assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
7.2 Updating variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
7.3 The while statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
7.4 break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7.5 Square roots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
7.6 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.7 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.8 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.9 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
8 Strings 71
8.1 A string is a sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
8.2 len . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
8.3 Traversal with a for loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
8.4 String slices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
8.5 Strings are immutable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
8.6 Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
8.7 Looping and counting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
8.8 string methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
8.9 The in operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
8.10 String comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
8.11 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.12 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
8.13 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
9 Case study: word play 81
9.1 Reading word lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
9.2 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
9.3 Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
9.4 Looping with indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
9.5 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
9.6 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
9.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
10 Lists 87
10.1 A list is a sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
10.2 Lists are mutable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
10.3 Traversing a list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
10.4 List operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
10.5 List slices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
10.6 List methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
10.7 Map, filter and reduce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
10.8 Deleting elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
10.9 Lists and strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
10.10 Objects and values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
10.11 Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
10.12 List arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
10.13 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
10.14 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
10.15 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
11 Dictionaries 101
11.1 Dictionary as a set of counters . . . . . . . . . . . . . . . . . . . . . . . . . . 102
11.2 Looping and dictionaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
11.3 Reverse lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
11.4 Dictionaries and lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
11.5 Memos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
11.6 Global variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
11.7 Long integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
11.8 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
11.9 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
11.10 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
12 Tuples 113
12.1 Tuples are immutable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
12.2 Tuple assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
12.3 Tuples as return values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
12.4 Variable-length argument tuples . . . . . . . . . . . . . . . . . . . . . . . . 115
12.5 Lists and tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
12.6 Dictionaries and tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
12.7 Comparing tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
12.8 Sequences of sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
12.9 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
12.10 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
12.11 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121


………………

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


已有 1 人评分经验 收起 理由
cheetahfly + 100 奖励积极上传好的资料

总评分: 经验 + 100   查看全部评分

沙发
cheetahfly(真实交易用户) 在职认证  发表于 2019-8-14 08:45:43
感谢分享

藤椅
xiaoheige75(真实交易用户) 发表于 2019-8-14 12:35:34
谢谢分享!

板凳
heiyaodai(未真实交易用户) 发表于 2019-8-15 20:13:11
谢谢分享

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-13 10:42