File tree Expand file tree Collapse file tree 18 files changed +25
-25
lines changed Expand file tree Collapse file tree 18 files changed +25
-25
lines changed Original file line number Diff line number Diff line change @@ -380,7 +380,7 @@ Zophie said, "I can say things other than 'Meow' you know."
380
380
381
381
提供交互shell 的软件程序的名字叫做 IDLE(* `I``integrated``D``eve``L``opment``E` * environment)。除了交互 shell,IDLE 还有一个* 文件编辑器* ,我们现在就打开。
382
382
383
- 在 Python shell 窗口顶部,选择** 文件**** 新建窗口** 。将出现一个新的空白窗口,即文件编辑器,供您输入程序,如图图 3 - 3 所示。文件编辑器窗口的右下角显示了光标当前所在的行和列。
383
+ 在 Python shell 窗口顶部,选择** 文件 -> 新建窗口** 。将出现一个新的空白窗口,即文件编辑器,供您输入程序,如图图 3 - 3 所示。文件编辑器窗口的右下角显示了光标当前所在的行和列。
384
384
385
385

386
386
@@ -426,7 +426,7 @@ IDLE将以不同的颜色显示不同类型的指令。当你输入完这段代
426
426
427
427
# ### 保存你的程序
428
428
429
- 输入源代码后,请保存它,这样您就不必在每次想要运行它时重新键入它。从文件编辑器窗口顶部的菜单中选择** 文件**** 另存为** 。另存为对话框应该打开,如图 3 - 6 中的所示。在** 文件名** 字段输入 hello.py ,点击** 保存** 。
429
+ 输入源代码后,请保存它,这样您就不必在每次想要运行它时重新键入它。从文件编辑器窗口顶部的菜单中选择** 文件 -> 另存为** 。另存为对话框应该打开,如图 3 - 6 中的所示。在** 文件名** 字段输入 hello.py ,点击** 保存** 。
430
430
431
431

432
432
@@ -436,7 +436,7 @@ IDLE将以不同的颜色显示不同类型的指令。当你输入完这段代
436
436
437
437
# ### 运行你的程序
438
438
439
- 现在是时候运行你的程序了。选择** 运行**** 运行模块** 或者直接按键盘上的 F5 键。你的程序应该在你第一次启动IDLE 出现的 shell 窗口中运行。请记住,您必须在文件编辑器的窗口中按 F5 键,而不是在交互式 shell 的窗口中。
439
+ 现在是时候运行你的程序了。选择** 运行 -> 运行模块** 或者直接按键盘上的 F5 键。你的程序应该在你第一次启动IDLE 出现的 shell 窗口中运行。请记住,您必须在文件编辑器的窗口中按 F5 键,而不是在交互式 shell 的窗口中。
440
440
441
441
当程序询问你的名字时,输入你的名字,如图图 3 - 7 所示。
442
442
@@ -463,7 +463,7 @@ NameError: name 'Albert' is not defined
463
463
464
464
# ### 打开你保存的程序
465
465
466
- 单击右上角的 X 关闭文件编辑器。要重新加载已保存的程序,从菜单中选择** 文件**** 打开** 。现在就这样做,在出现的窗口中,选择 `hello.py` 。然后点击** 打开** 按钮。您保存的 `hello.py` 程序应该会在文件编辑器窗口中打开。
466
+ 单击右上角的 X 关闭文件编辑器。要重新加载已保存的程序,从菜单中选择** 文件 -> 打开** 。现在就这样做,在出现的窗口中,选择 `hello.py` 。然后点击** 打开** 按钮。您保存的 `hello.py` 程序应该会在文件编辑器窗口中打开。
467
467
468
468
# ## “Hello, World!”程序是怎样工作的
469
469
Original file line number Diff line number Diff line change 31
31
32
32
### 反向密码程序的源代码
33
33
34
- 在IDLE中,点击** 文件**** 新建窗口** 创建一个新的文件编辑窗口。输入下面的代码,保存为 ` reverseCipher.py ` ,按 F5 运行它,但是记住不要在每行之前键入数字:
34
+ 在IDLE中,点击** 文件 -> 新建窗口** 创建一个新的文件编辑窗口。输入下面的代码,保存为 ` reverseCipher.py ` ,按 F5 运行它,但是记住不要在每行之前键入数字:
35
35
36
36
` reverseCipher.py `
37
37
Original file line number Diff line number Diff line change 103
103
104
104
### 换位密码加密程序的源代码
105
105
106
- 选择** 文件**** 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,然后保存为` transpositonecrypt.py ` 。记得将 ` pyperclip.py ` 模块放在与` transpositonecrypt.py ` 文件相同的目录下。然后按 F5 运行程序。
106
+ 选择** 文件 -> 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,然后保存为` transpositonecrypt.py ` 。记得将 ` pyperclip.py ` 模块放在与` transpositonecrypt.py ` 文件相同的目录下。然后按 F5 运行程序。
107
107
108
108
* 换位
109
109
Encrypt.py*
Original file line number Diff line number Diff line change 53
53
54
54
### 换位密码解密程序的源代码
55
55
56
- 点击** 文件**** 新建文件** ,打开一个新建文件编辑器窗口。在文件编辑器中输入以下代码,然后保存为* transposition encrypt . py* 。记得把 ` pyperclip.py ` 放在同一个目录下。按 F5 运行程序。
56
+ 点击** 文件 -> 新建文件** ,打开一个新建文件编辑器窗口。在文件编辑器中输入以下代码,然后保存为* transposition encrypt . py* 。记得把 ` pyperclip.py ` 放在同一个目录下。按 F5 运行程序。
57
57
58
58
* 换位
59
59
解密. py*
Original file line number Diff line number Diff line change 31
31
32
32
### 换位密码测试仪程序的源代码
33
33
34
- 选择** 文件**** 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,保存为 ` transpositionTest.py ` 。然后按 F5 运行程序。
34
+ 选择** 文件 -> 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,保存为 ` transpositionTest.py ` 。然后按 F5 运行程序。
35
35
36
36
* 换位
37
37
Test.py*
Original file line number Diff line number Diff line change 35
35
36
36
与转置密码测试程序一样,转置文件密码程序导入` transpositonecrypt.py ` 和` transpositonecrypt.py ` 文件,以便调用` encryptMessage() ` 和` decryptMessage() ` 函数。因此,您不必在新程序中重新键入这些功能的代码。
37
37
38
- 选择** 文件**** 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,保存为` transpositionfilecipher.py ` 。然后从[ ` www.nostarch.com/crackingcodes ` ] ( https://www.nostarch.com/crackingcodes/ ) 下载 ` frankenstein.txt ` ,并将该文件放在与` transpositoinfilecipher.py ` 文件相同的文件夹中。按 F5 运行程序。
38
+ 选择** 文件 -> 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,保存为` transpositionfilecipher.py ` 。然后从[ ` www.nostarch.com/crackingcodes ` ] ( https://www.nostarch.com/crackingcodes/ ) 下载 ` frankenstein.txt ` ,并将该文件放在与` transpositoinfilecipher.py ` 文件相同的文件夹中。按 F5 运行程序。
39
39
40
40
* 换位
41
41
FileCipher.py*
Original file line number Diff line number Diff line change @@ -74,7 +74,7 @@ ABANDONS
74
74
75
75
# ## 检测英语模块的源代码
76
76
77
- 选择** 文件**** 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,然后保存为 `detectEnglish.py` 。确保 `dictionary.txt` 和 `detectEnglish.py` 在同一个目录下,否则这段代码不会工作。按 F5 运行程序。
77
+ 选择** 文件 -> 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,然后保存为 `detectEnglish.py` 。确保 `dictionary.txt` 和 `detectEnglish.py` 在同一个目录下,否则这段代码不会工作。按 F5 运行程序。
78
78
79
79
* 检测英语. py*
80
80
Original file line number Diff line number Diff line change @@ -17,7 +17,7 @@ RSA 的发明者之一 Ron Rivest 认为限制加密技术是鲁莽的:“仅仅
17
17
18
18
### 换位密码黑客程序的源代码
19
19
20
- 选择** 文件**** 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,保存为 ` transpositionHacker.py ` 。与之前的程序一样,确保 ` pyperclip.py ` 模块、* transposition encrypt . py* 模块(第 8 章)、以及 ` detectEnglish.py ` 模块和 ` dictionary.txt ` 文件(第 11 章)与* transposition onhacker . py* 文件在同一个目录下。然后按 F5 运行程序。
20
+ 选择** 文件 -> 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,保存为 ` transpositionHacker.py ` 。与之前的程序一样,确保 ` pyperclip.py ` 模块、* transposition encrypt . py* 模块(第 8 章)、以及 ` detectEnglish.py ` 模块和 ` dictionary.txt ` 文件(第 11 章)与* transposition onhacker . py* 文件在同一个目录下。然后按 F5 运行程序。
21
21
22
22
* 转置
23
23
黑客. py*
Original file line number Diff line number Diff line change 19
19
20
20
### 仿射密码程序的源代码
21
21
22
- 选择** 文件**** 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,然后保存为` affinicipher.py ` 。确保您在第 13 章中制作的 ` pyperclip.py ` 模块和 ` cryptomath.py ` 模块与` affinicipher.py ` 文件在同一个文件夹中。
22
+ 选择** 文件 -> 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,然后保存为` affinicipher.py ` 。确保您在第 13 章中制作的 ` pyperclip.py ` 模块和 ` cryptomath.py ` 模块与` affinicipher.py ` 文件在同一个文件夹中。
23
23
24
24
* 仿射密码。py*
25
25
Original file line number Diff line number Diff line change 17
17
18
18
### 仿射密码黑客程序的源代码
19
19
20
- 选择** 文件**** 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,然后保存为 ` affineHacker.py ` 。手动输入` myMessage ` 变量的字符串可能有些棘手,所以你可以从[ * https://www.nostarch.com/crackingcodes/ * ] ( https://www.nostarch.com/crackingcodes/ ) 的 ` affineHacker.py ` 文件中复制并粘贴它以节省时间。确保 ` dictionary.txt ` 以及 ` pyperclip.py ` 、* affini cipher . py* 、 ` detectEnglish.py ` 和 ` cryptomath.py ` 与* affini hacker . py* 在同一个目录下。
20
+ 选择** 文件 -> 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,然后保存为 ` affineHacker.py ` 。手动输入` myMessage ` 变量的字符串可能有些棘手,所以你可以从[ * https://www.nostarch.com/crackingcodes/ * ] ( https://www.nostarch.com/crackingcodes/ ) 的 ` affineHacker.py ` 文件中复制并粘贴它以节省时间。确保 ` dictionary.txt ` 以及 ` pyperclip.py ` 、* affini cipher . py* 、 ` detectEnglish.py ` 和 ` cryptomath.py ` 与* affini hacker . py* 在同一个目录下。
21
21
22
22
* 仿射黑客. py*
23
23
Original file line number Diff line number Diff line change 39
39
40
40
### 简单替换密码程序的源代码
41
41
42
- 选择** 文件**** 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,保存为 ` simpleSubCipher.py ` 。确保将 ` pyperclip.py ` 文件放在与 ` simpleSubCipher.py ` 文件相同的目录中。按 F5 运行程序。
42
+ 选择** 文件 -> 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,保存为 ` simpleSubCipher.py ` 。确保将 ` pyperclip.py ` 文件放在与 ` simpleSubCipher.py ` 文件相同的目录中。按 F5 运行程序。
43
43
44
44
简单子
45
45
Cipher.py
Original file line number Diff line number Diff line change @@ -159,7 +159,7 @@ allPatterns = {'0.0.1': ['EEL'],
159
159
160
160
# ## 简单替换黑客程序的源代码
161
161
162
- 选择** 文件**** 新建文件** ,打开文件编辑器窗口。在文件编辑器中输入以下代码,保存为 `simpleSubHacker.py` 。确保将 `pyperclip.py` 、 `simpleSubCipher.py` 和 `wordPatterns.py` 文件放在与 `simpleSubHacker.py` 相同的目录下。按 F5 运行程序。
162
+ 选择** 文件 -> 新建文件** ,打开文件编辑器窗口。在文件编辑器中输入以下代码,保存为 `simpleSubHacker.py` 。确保将 `pyperclip.py` 、 `simpleSubCipher.py` 和 `wordPatterns.py` 文件放在与 `simpleSubHacker.py` 相同的目录下。按 F5 运行程序。
163
163
164
164
* 单纯子
165
165
黑客. py*
Original file line number Diff line number Diff line change @@ -112,7 +112,7 @@ Vigenère key 不一定是像 PIZZA 这样的真实单词。它可以是任意
112
112
113
113
### vigenère 密码程序的源代码
114
114
115
- 选择** 文件**** 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,保存为 ` vigenereCipher.py ` ,确保 ` pyperclip.py ` 在同一个目录下。按 F5 运行程序。
115
+ 选择** 文件 -> 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,保存为 ` vigenereCipher.py ` ,确保 ` pyperclip.py ` 在同一个目录下。按 F5 运行程序。
116
116
117
117
` vigenereCipher.py `
118
118
Original file line number Diff line number Diff line change @@ -121,7 +121,7 @@ englishFreqMatchScore() 接受一个字符串参数并返回一个从 0 到 12
121
121
122
122
### 匹配字母频率的源代码
123
123
124
- 选择** 文件**** 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,保存为 ` freqAnalysis.py ` ,确保 ` pyperclip.py ` 在同一个目录下。按 F5 运行程序。
124
+ 选择** 文件 -> 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,保存为 ` freqAnalysis.py ` ,确保 ` pyperclip.py ` 在同一个目录下。按 F5 运行程序。
125
125
126
126
` freqAnalysis.py `
127
127
Original file line number Diff line number Diff line change 29
29
30
30
* ### ** vigenère 字典黑客程序的源代码**
31
31
32
- 选择** 文件**** 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,然后保存为` vigeneredictionaryhacker.py ` 。确保将 ` detectEnglish.py ` 、 ` vigenereCipher.py ` 和 ` pyperclip.py ` 文件与* vigeneredictionary hacker . py* 文件放在同一目录下。然后按 F5 运行程序。
32
+ 选择** 文件 -> 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,然后保存为` vigeneredictionaryhacker.py ` 。确保将 ` detectEnglish.py ` 、 ` vigenereCipher.py ` 和 ` pyperclip.py ` 文件与* vigeneredictionary hacker . py* 文件放在同一目录下。然后按 F5 运行程序。
33
33
34
34
* 守护
35
35
词典
@@ -283,7 +283,7 @@ B OZDAZAZMYHZGZJCWZZZJHT 1
283
283
284
284
# ## vigenère 黑客程序的源代码
285
285
286
- 选择** 文件**** 新文件** ,打开新文件编辑器窗口。确保 `detectEnglish.py` 、 `freqAnalysis.py` 、 `vigenereCipher.py` 和 `pyperclip.py` 文件与 `vigenereHacker.py` 文件在同一目录下。然后在文件编辑器中输入以下代码,保存为 `vigenereHacker.py` 。按 F5 运行程序。
286
+ 选择** 文件 -> 新文件** ,打开新文件编辑器窗口。确保 `detectEnglish.py` 、 `freqAnalysis.py` 、 `vigenereCipher.py` 和 `pyperclip.py` 文件与 `vigenereHacker.py` 文件在同一目录下。然后在文件编辑器中输入以下代码,保存为 `vigenereHacker.py` 。按 F5 运行程序。
287
287
288
288
这个程序中第 17 行的密文很难从书上复制。为了避免错别字,请从该书的网站`www.nostarch.com/ crackingcodes` 复制并粘贴。您可以使用本书网站上的在线比较工具来检查您的程序文本和本书中的程序文本之间的任何差异。
289
289
Original file line number Diff line number Diff line change @@ -69,7 +69,7 @@ generateLargePrime() 返回一个数百位长的大质数。该函数将在第 2
69
69
70
70
就像《T4》第 13 章中介绍的 ` cryptomath.py ` 一样, ` primeNum.py ` 程序是作为一个模块被其他程序导入的,当它自己运行时不做任何事情。 ` primeNum.py ` 模块导入 Python 的` math ` 和` random ` 模块,以便在生成素数时使用。
71
71
72
- 选择** 文件**** 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,然后保存为` primenu.py ` 。
72
+ 选择** 文件 -> 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,然后保存为` primenu.py ` 。
73
73
74
74
` primeNum.py `
75
75
Original file line number Diff line number Diff line change @@ -113,7 +113,7 @@ RSA 密码(像其他公钥密码一样)不仅加密消息,还允许我们对
113
113
114
114
### 公钥生成程序的源代码
115
115
116
- 选择** 文件**** 新文件** ,打开新文件编辑器窗口。确保 ` primeNum.py ` 和 ` cryptomath.py ` 模块与程序文件在同一个文件夹中。在文件编辑器中输入以下代码,保存为` makepublicprivatekeys.py ` 。
116
+ 选择** 文件 -> 新文件** ,打开新文件编辑器窗口。确保 ` primeNum.py ` 和 ` cryptomath.py ` 模块与程序文件在同一个文件夹中。在文件编辑器中输入以下代码,保存为` makepublicprivatekeys.py ` 。
117
117
118
118
* makePublic
119
119
私钥. py*
Original file line number Diff line number Diff line change 109
109
110
110
| | ** 消息** | ** 块整数** |
111
111
| --- | --- | --- |
112
- | ** 第一个块**** (169 个字符)** | 阿兰·麦席森·图灵是英国密码分析学家和计算机科学家。他对计算机科学的发展有很大的影响,并提供了 |
112
+ | ** 第一个块 -> (169 个字符)** | 阿兰·麦席森·图灵是英国密码分析学家和计算机科学家。他对计算机科学的发展有很大的影响,并提供了 |
113
113
114
114
``` py
115
115
3013810338120027658120611166332270159047154
123
123
```
124
124
125
125
|
126
- | ** 第二块**** (169 个字符)** | 图灵机的算法和计算概念。图灵被广泛认为是计算机科学和人工智能之父。W 期间 |
126
+ | ** 第二块 -> (169 个字符)** | 图灵机的算法和计算概念。图灵被广泛认为是计算机科学和人工智能之父。W 期间 |
127
127
128
128
``` py
129
129
1106890780922147455215935080195634373132680
137
137
```
138
138
139
139
|
140
- | ** 第三块**** (82 个字符)** | 第二次世界大战期间,他为布莱奇利公园的政府代码和密码学校工作。 |
140
+ | ** 第三块 -> (82 个字符)** | 第二次世界大战期间,他为布莱奇利公园的政府代码和密码学校工作。 |
141
141
142
142
``` py
143
143
1583679754961601914428952447217583697875837
@@ -280,7 +280,7 @@ def isPrime(num):
280
280
281
281
### 公钥密码程序的源代码
282
282
283
- 选择** 文件**** 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,保存为 ` publicKeyCipher.py ` 。
283
+ 选择** 文件 -> 新文件** ,打开新文件编辑器窗口。在文件编辑器中输入以下代码,保存为 ` publicKeyCipher.py ` 。
284
284
285
285
* publicKey
286
286
Cipher.py*
You can’t perform that action at this time.
0 commit comments