chore: 尝试切换到 ali oss
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
|
||||
进入 [https://www.luogu.com.cn/](https://www.luogu.com.cn/)
|
||||
|
||||

|
||||

|
||||
|
||||
## 社交模块
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
点开题库,我们看见以下界面
|
||||
|
||||

|
||||

|
||||
|
||||
在上方我们可以筛选我们想要的题目,接下来我们点开 P1000 为例
|
||||
|
||||

|
||||

|
||||
|
||||
右侧三个模块为折叠状态,下面介绍他们的作用
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
点击提交答案
|
||||
|
||||

|
||||

|
||||
|
||||
左侧可以选择语言类型,C++ 用户建议选择 C++14。
|
||||
|
||||
@@ -44,7 +44,7 @@ O2 优化是一种优化(废话)假如您的代码复杂度正确但 TLE,
|
||||
|
||||
怎么知道自己代码的问题出在哪里呢?记录模块是帮助你的好工具。
|
||||
|
||||

|
||||

|
||||
|
||||
AC:通过该数据点
|
||||
|
||||
@@ -64,7 +64,7 @@ OLE:输出超限 放心你见不到的
|
||||
|
||||
点开侧栏题单
|
||||
|
||||

|
||||

|
||||
|
||||
建议新手从官方精选题单开始,由浅入深,由简到难。等到对算法形成概念,针对漏洞补习时可以尝试用户分享题单(到那个阶段已经有很多手段去找题了,刘教练的题单就够你做了)
|
||||
|
||||
@@ -76,7 +76,7 @@ OLE:输出超限 放心你见不到的
|
||||
|
||||
进入 [https://codeforces.com/?locale=en](https://codeforces.com/?locale=en)
|
||||
|
||||

|
||||

|
||||
|
||||
比起 Luogu,这样的 UI 设计离 CN 互联网已经很远了(然而比起更硬核的一些做题网站,CF 的 UI 真是越看越顺眼)
|
||||
|
||||
@@ -100,7 +100,7 @@ OLE:输出超限 放心你见不到的
|
||||
|
||||
进入比赛页面
|
||||
|
||||

|
||||

|
||||
|
||||
上方为将举办比赛,显示开始时间(UTC+8 也就是我们时区的时间)和持续时间大多都开始的比较晚,例如笔者就没有这么晚学习的习惯,所以一般赛后写题。比赛分为以下几种类型(例如写在括号里的 Div.2)
|
||||
|
||||
@@ -114,14 +114,14 @@ Div.1、Div.2、Div.3、Div.4 数字越小难度越大。
|
||||
|
||||
## VP
|
||||
|
||||

|
||||

|
||||
|
||||
这是一场笔者之前赛后补过的 Div.2,画面右下角分别为赛后公告和题解,右侧便是开启 VP 的按钮。
|
||||

|
||||

|
||||
|
||||
<em>VP</em><em>模拟赛时的好处就是在虚拟参赛中获得真实比赛才能积累的经验,比如这里笔者发现通过前三题后,我应该先去看看 F 题,因为做出来的人更多,我有更大的可能性做出来,ACM 中题目并不是 100% 按难度排序。</em>
|
||||
|
||||

|
||||

|
||||
|
||||
进入 VP 后,我们可以发现比起正常赛后补题有了明显不同。
|
||||
|
||||
@@ -135,25 +135,25 @@ Div.1、Div.2、Div.3、Div.4 数字越小难度越大。
|
||||
|
||||
让我们点开 A 题,来看看如何提交答案
|
||||
|
||||

|
||||

|
||||
|
||||
可以看见,右侧有一个 submit,与 luogu 不同的是,你需要上传源代码文件(如 cpp)然后选择 G++17 为语言,提交。
|
||||
|
||||
当然,你也可以点开上侧的 submit code
|
||||
|
||||

|
||||

|
||||
|
||||
选择题目、语言,填写代码后提交,就和 Luogu 的方式一样了。
|
||||
|
||||
同样,在上侧 MY SUBMISSIONS 处可以查看已提交的代码和状态
|
||||
|
||||

|
||||

|
||||
|
||||
## PROBLEMSET
|
||||
|
||||
同样,CF 也有题库
|
||||
|
||||

|
||||

|
||||
|
||||
如果你只想做某道题而不是某场比赛,这里也许更适合你。
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
首先附上一张经典老图
|
||||
|
||||

|
||||

|
||||
|
||||
## C 语言/C++
|
||||
|
||||
@@ -56,6 +56,6 @@ Python 在图里是电锯,适合干比较“狂野”的任务,也是深度
|
||||
|
||||
<strong>频繁应用于</strong><strong>W</strong><strong>eb 开发,安卓应用等等。</strong>
|
||||
|
||||

|
||||

|
||||
|
||||
当然还有各种形形色色的编程语言等着同学们去探索。
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
尝试借鉴他人的代码也未尝不可,但是要保证每一行都看懂哦
|
||||
|
||||

|
||||

|
||||
|
||||
# 我感觉讲义写的不够细
|
||||
|
||||
@@ -67,6 +67,6 @@ NJU-ICS-PA 南京大学计算机系统基础
|
||||
|
||||
# <strong>坚持了好久还是搞不定, 我想放弃了</strong>
|
||||
|
||||

|
||||

|
||||
|
||||
也许是你坚持的姿势不对,来和 ZZM 聊聊吧
|
||||
|
||||
@@ -16,7 +16,7 @@ Visual Studio (以下简称 VS )是 Windows 下最完美的 C/C++ 等语言
|
||||
|
||||
选择社区版
|
||||
|
||||

|
||||

|
||||
|
||||
社区版和专业版等的区别:社区版免费,功能上几乎无差别
|
||||
|
||||
@@ -24,7 +24,7 @@ Visual Studio (以下简称 VS )是 Windows 下最完美的 C/C++ 等语言
|
||||
|
||||
选择 C++ 桌面开发,其他不用选,有需要了再说。另外,Python 开发不好使,不要像我一样选 Python 开发。
|
||||
|
||||

|
||||

|
||||
|
||||
安装完成后,一般来说 VS 不会自动创建桌面快捷方式,你需要到开始菜单中启动 VS。
|
||||
|
||||
@@ -38,19 +38,19 @@ VS 是项目制,你需要创建一个项目才能开始编写代码并运行
|
||||
|
||||
打开 VS,会打开如下界面(我使用深色主题),在此处单击“创建新项目”
|
||||
|
||||

|
||||

|
||||
|
||||
在创建新项目页面中选择项目模板为控制台应用(空项目亦可,后续手动添加.c 源文件),并单击下一步
|
||||
|
||||

|
||||

|
||||
|
||||
为你的项目起一个名字,以及选择项目的位置,一般默认即可,如果你有强迫症,C 盘一定不能放个人数据,请自行修改。完成后单击“创建”
|
||||
|
||||

|
||||

|
||||
|
||||
自此就创建了一个项目了,你将会到达如下界面:
|
||||
|
||||

|
||||

|
||||
|
||||
其中,左侧(如果在一开始没有选择 C++ 开发环境的话可能在右侧)为资源管理器,列出了本项目所用到的所有文件,包括代码(外部依赖项、源文件、头文件),以及将来开发图形化界面所需的资源文件;最中间占据面积最多的是代码编辑器窗口,你以后将会在这里编写你的 C 语言代码。最下面是输出窗口,源代码进行编译时,会在此处给出编译进度以及可能的代码中的错误。
|
||||
|
||||
@@ -66,7 +66,7 @@ C 语言是编译型语言,因此说“运行”代码其实并不是十分合
|
||||
|
||||
当你编写完自己的代码后,即可单击“本地 Windows 调试器”(或者使用快捷键 F5)进行“运行”。
|
||||
|
||||

|
||||

|
||||
|
||||
你可能会发现在“本地 Windows 调试器”右侧还有一个绿色三角形,并且单击这个也可以“运行”,这两个的区别在于“本地 Windows 调试器”是调试运行,右侧那个是不调试直接运行。
|
||||
|
||||
@@ -74,17 +74,17 @@ C 语言是编译型语言,因此说“运行”代码其实并不是十分合
|
||||
|
||||
如果你的代码被 VS 提示“This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.”
|
||||
|
||||

|
||||

|
||||
|
||||
需要你在项目-xxx 属性(xxx 是你的项目名)-C/C++-代码生成-安全检查里将安全检查禁用
|
||||
|
||||

|
||||

|
||||
|
||||
## 调试
|
||||
|
||||
IDE 相比于代码编辑器,最强大的一点莫过于成熟的调试系统。通过调试,可以快速定位代码中没有被编译器检查出来的逻辑错误。如果需要调试,则可以在这个位置单击,打下断点,并且运行程序,程序运行时,就会在此处暂停下来,暂停时就可以查看各个变量的值了。
|
||||
|
||||

|
||||

|
||||
|
||||
## <strong>深色主题</strong>
|
||||
|
||||
@@ -94,15 +94,15 @@ IDE 相比于代码编辑器,最强大的一点莫过于成熟的调试系统
|
||||
|
||||
### 仔细查看报错
|
||||
|
||||

|
||||

|
||||
|
||||
如果程序代码中出现红色波浪线,则表示该处代码有“错误”,并且该处的错误会同步显示在下面的这个位置,单击即可看到错误详情。如果代码中出现绿色波浪线,则表示该处代码中有警告。警告和错误的区别是警告可以通过编译运行,但编译器认为你这里可能写错了;错误是完全不可以通过编译。
|
||||
|
||||

|
||||

|
||||
|
||||
### 善用提示
|
||||
|
||||

|
||||

|
||||
|
||||
当你打一些函数名或者关键字时,VS 会给出你语法提示,如果这个提示正确,按下 Tab 键即可将这个提示补全到你的代码里;或者你也可以跟着这个提示打一遍,防止打错关键字。
|
||||
|
||||
@@ -136,7 +136,7 @@ vscode 的项目和 VS 不同,vscode 的项目比较松散,并没有 VS 那
|
||||
|
||||
编写完代码后,保存文件,并点击运行-启动调试
|
||||
|
||||

|
||||

|
||||
|
||||
此时会弹出如下选择框,我的电脑上同时安装有 VS 和 gcc 编译器,因此有两个,大部分的电脑上应该只有一个“C++ (Windows)”,选择你电脑上的编译器并运行即可。
|
||||
|
||||
@@ -162,25 +162,25 @@ CLion 是 jetbrains 家族的 C 语言 IDE
|
||||
|
||||
XCode 是 mac 官方的 IDE,能编写所有 mac 家族设备的软件。但缺点是没有中文。
|
||||
|
||||

|
||||

|
||||
|
||||
打开以后选择 Create a new Xcode project,选择 macOS-Command Line Tool
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
两个空里第一个填项目名,第二个随便填就行
|
||||
|
||||
next 后选择项目保存的位置,之后即可到达以下界面:
|
||||
|
||||

|
||||

|
||||
|
||||
点左上方小三角即可运行
|
||||
|
||||
在行号上点击并运行即可调试
|
||||
|
||||

|
||||

|
||||
|
||||
# Linux
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
- 本篇不需要任何前置知识,推荐在学习 C 语言和学完 C 语言后各看一遍。
|
||||
- 我们鼓励你在解决问题的时候进行思考,锻炼解决问题的能力,而不只是成为一个做代码翻译工作的“码农”。
|
||||
|
||||

|
||||

|
||||
|
||||
解决编程问题的常见误区:
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
如果你计划得足够好并且代码编写得正确,你的代码将在第一次工作。即便它第一次不起作用,那么你至少有一个对于代码如何调试的可靠计划。
|
||||
|
||||

|
||||

|
||||
|
||||
## Work an Example Yourself
|
||||
|
||||
|
||||
@@ -34,6 +34,6 @@
|
||||
|
||||
计算机思维与计算机科学与编码能力
|
||||
|
||||

|
||||

|
||||
|
||||
### <strong>CS education is more than just “learning how to code”!</strong>
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
使用链表存储数据,不强制要求数据在内存中集中存储,各个元素可以分散存储在内存中。例如,使用链表存储 {1,2,3},各个元素在内存中的存储状态可能是:
|
||||
|
||||

|
||||

|
||||
|
||||
可以看到,数据不仅没有集中存放,在内存中的存储次序也是混乱的。那么,链表是如何存储数据间逻辑关系的呢?
|
||||
|
||||
链表存储数据间逻辑关系的实现方案是:为每一个元素配置一个指针,每个元素的指针都指向自己的直接后继元素,如下图所示:
|
||||
|
||||

|
||||

|
||||
|
||||
显然,我们只需要记住元素 1 的存储位置,通过它的指针就可以找到元素 2,通过元素 2 的指针就可以找到元素 3,以此类推,各个元素的先后次序一目了然。像图 2 这样,数据元素随机存储在内存中,通过指针维系数据之间“一对一”的逻辑关系,这样的存储结构就是链表。
|
||||
|
||||
@@ -20,13 +20,13 @@
|
||||
|
||||
在链表中,每个数据元素都配有一个指针,这意味着,链表上的每个“元素”都长下图这个样子:
|
||||
|
||||

|
||||

|
||||
|
||||
数据域用来存储元素的值,指针域用来存放指针。数据结构中,通常将这样的整体称为结点。
|
||||
|
||||
也就是说,链表中实际存放的是一个一个的结点,数据元素存放在各个结点的数据域中。举个简单的例子,图 3 中 {1,2,3} 的存储状态用链表表示,如下图所示:
|
||||
|
||||

|
||||

|
||||
|
||||
在 C 语言中,可以用结构体表示链表中的结点,例如:
|
||||
|
||||
@@ -66,7 +66,7 @@ typedef struct Node* Link;
|
||||
|
||||
例如,创建一个包含头结点的链表存储 {1,2,3},如下图所示:
|
||||
|
||||

|
||||

|
||||
|
||||
## 链表的创建
|
||||
|
||||
@@ -104,7 +104,7 @@ while (Judgement)
|
||||
}
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
### 创建结点——尾插法
|
||||
|
||||
@@ -121,7 +121,7 @@ while (Judgement) //for同理
|
||||
}
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
## 链表的基本操作
|
||||
|
||||
@@ -176,7 +176,7 @@ int GetElem(Link *L, int i; int *e)
|
||||
|
||||
例如,在链表 `{1,2,3,4}` 的基础上分别实现在头部、中间、尾部插入新元素 5,其实现过程如图所示:
|
||||
|
||||

|
||||

|
||||
|
||||
从图中可以看出,虽然新元素的插入位置不同,但实现插入操作的方法是一致的,都是先执行步骤 1 ,再执行步骤 2。实现代码如下:
|
||||
|
||||
@@ -207,7 +207,7 @@ int ListInsert(Link *L, int i, int e)
|
||||
|
||||
对于没有头结点的链表,在头部插入结点比较特殊,需要单独实现。
|
||||
|
||||

|
||||

|
||||
|
||||
和 2)、3) 种情况相比,由于链表没有头结点,在头部插入新结点,此结点之前没有任何结点,实现的步骤如下:
|
||||
|
||||
@@ -253,7 +253,7 @@ temp->next=temp->next->next;
|
||||
|
||||
例如,从存有 `{1,2,3,4}` 的链表中删除存储元素 3 的结点,则此代码的执行效果如图 3 所示:
|
||||
|
||||

|
||||

|
||||
|
||||
实现代码如下:
|
||||
|
||||
@@ -282,7 +282,7 @@ int ListDelete(Link *L, int i, int* e)
|
||||
|
||||
对于不带头结点的链表,需要单独考虑删除首元结点的情况,删除其它结点的方式和图 3 完全相同,如下图所示:
|
||||
|
||||

|
||||

|
||||
|
||||
实现代码如下:
|
||||
|
||||
@@ -319,7 +319,7 @@ int ListDelete(Link *L, int i, int* e)
|
||||
|
||||
如图所示,假设此时圆周周围有 5 个人,要求从编号为 3 的人开始顺时针数数,数到 2 的那个人出列:
|
||||
|
||||

|
||||

|
||||
|
||||
出列顺序依次为:
|
||||
|
||||
@@ -339,10 +339,10 @@ int ListDelete(Link *L, int i, int* e)
|
||||
|
||||
为了使空链表和非空链表处理一致,我们通常设一个头结点,当然,并不是说,循环链表一定要头结点,这需要注意。循环链表带有头结点的空链表如图所示:
|
||||
|
||||

|
||||

|
||||
|
||||
对于非空的循环链表如图所示:
|
||||
|
||||

|
||||

|
||||
|
||||
循环链表和单链表的主要差异就在于循环的判断条件上,原来是判断 p->next 是否为空,现在则是 p->next 不等于头结点,则循环未结束。
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
当然,如果你选择跳过,也不会对 python 开发那里造成非常大的影响但是你会错失一个非常宝贵的学习机会。
|
||||
|
||||

|
||||

|
||||
|
||||
在 1980 年代, [文字冒险](http://en.wikipedia.org/wiki/Text_adventure) 是一种受人尊敬的电脑游戏类型。但是时代已经变了,在 21 世纪,它们与 带有 3D 引擎的现代 [MMORPG 相比显得苍白无力。](http://en.wikipedia.org/wiki/Mmorpg)书籍在电影的兴起中幸存下来,而基于文本的游戏很快就输掉了与图形游戏的战斗。“互动小说”由一个活跃的社区保持活力,但它的商业价值早已不复存在。
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
- 打印变量, 断点, 监视点, 函数调用栈...
|
||||
|
||||

|
||||

|
||||
|
||||
# 调试理论
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
请在开始进行 C 语言编程之后查阅使用
|
||||
|
||||

|
||||

|
||||
|
||||
# GDB 是什么?
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# C 的历史问题:undefined behavior
|
||||
|
||||

|
||||

|
||||
|
||||
简写为 UB
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
值得一提的是,我不会在本教程讲授过于基础的概念,但是会贴出你可能需要学习的内容。
|
||||
|
||||

|
||||

|
||||
|
||||
同时我要说的是:C 语言为了适配多种多样的硬件以及各式各样的操作,他对非常多的 undefined 操作不做太多限制,也就是说你可能会出现各种各样的问题,<del>甚至把你电脑炸了</del>
|
||||
|
||||
|
||||
@@ -204,7 +204,7 @@ git checkout -B 分支名
|
||||
|
||||
页面大概是这样:
|
||||
|
||||

|
||||

|
||||
|
||||
### Git 和 Github
|
||||
|
||||
@@ -234,11 +234,11 @@ ssh-keygen -t rsa -C "youremail@example.com" # youremail为你注册用的电
|
||||
|
||||
登陆 `GitHub`,打开 `settings`
|
||||
|
||||

|
||||

|
||||
|
||||
然后打开左侧栏 `SSH and GPG`` keys` 页面
|
||||
|
||||

|
||||

|
||||
|
||||
然后,点 `New SSH Key`,填上任意 Title,在 Key 文本框里粘贴 `id_rsa.pub` 文件的内容即可
|
||||
|
||||
@@ -247,11 +247,11 @@ ssh-keygen -t rsa -C "youremail@example.com" # youremail为你注册用的电
|
||||
绑定完 GitHub 然后你可以创建仓库了
|
||||
首先在 GitHub 主页,找到 “New” 按钮,创建一个新的仓库
|
||||
|
||||

|
||||

|
||||
|
||||
然后填上这个仓库的大名就可以创建了
|
||||
|
||||

|
||||

|
||||
|
||||
根据之前学习的方法在本地创建完 git 仓库之后
|
||||
|
||||
@@ -282,7 +282,7 @@ git clone [url]
|
||||
|
||||
首先,代码的 url 在下图所示的位置
|
||||
|
||||

|
||||

|
||||
|
||||
然后复制完代码后切换回我们的命令行
|
||||
|
||||
@@ -294,7 +294,7 @@ git clone https://github.com/camera-2018/git-example.git
|
||||
|
||||
一阵抽搐过后就下载好了
|
||||
|
||||

|
||||

|
||||
|
||||
注意:用完之后别忘记给 camera-2018 点个 follow 呃呃 follow 没用 star 有用
|
||||
|
||||
@@ -304,7 +304,7 @@ git clone https://github.com/camera-2018/git-example.git
|
||||
|
||||
如图 我在仓库里新建了 `helloworld.c` 并且写了一些代码
|
||||
|
||||

|
||||

|
||||
|
||||
接下来是提交操作
|
||||
|
||||
@@ -312,7 +312,7 @@ git clone https://github.com/camera-2018/git-example.git
|
||||
git status #看一下文件暂存区
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
红色表示文件没有提交到暂存区 我们要提交
|
||||
|
||||
@@ -322,7 +322,7 @@ git status #看一下文件暂存区
|
||||
git add . #将没有提交的所有文件加入暂存区
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
绿色表示所有文件已加入暂存
|
||||
|
||||
@@ -332,7 +332,7 @@ git commit -m "feat(helloworld): add helloworld file"
|
||||
|
||||
将刚才加入暂区的文件发起了一个提交 注释是 `feat(helloworld): add helloworld file`
|
||||
|
||||

|
||||

|
||||
|
||||
1. 如果这是你自己的仓库有权限 你就可以直接使用
|
||||
|
||||
@@ -343,7 +343,7 @@ git push origin main # origin是第四步里remote add起的远程名字
|
||||
|
||||
上传本次提交
|
||||
|
||||

|
||||

|
||||
|
||||
1. 如果你没有本仓库的主分支提交权限 可以提交 pr(pull requests)
|
||||
|
||||
@@ -351,7 +351,7 @@ git push origin main # origin是第四步里remote add起的远程名字
|
||||
|
||||
首先创建一个新分支 命名为 `yourname-dev`
|
||||
|
||||

|
||||

|
||||
|
||||
然后按照上面的方法 `git clone` 并切换到你刚创建的分支
|
||||
|
||||
@@ -361,30 +361,30 @@ git switch camera-2018-dev
|
||||
|
||||
然后提交一个文件 这里使用 vscode 自带的 git 工具试试
|
||||
|
||||

|
||||

|
||||
|
||||
点暂存所有更改 写好 comment 之后点提交
|
||||
|
||||

|
||||

|
||||
|
||||
最后点同步更改上传
|
||||
|
||||

|
||||

|
||||
|
||||
如果是你提交 在 github 上会显示这个 快捷创建 pr 的按钮
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
点它创建 pr
|
||||
|
||||

|
||||

|
||||
|
||||
这样管理本仓库的人看到 pr 请求就可以 merge 合并辣
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
实际合作过程中可能会出现代码冲突无法 merge 的情况 😋 遇到了自己去 STFW 吧
|
||||
|
||||
@@ -10,21 +10,21 @@
|
||||
|
||||
装下来之后具体操作可以看[安装教程](https://blog.csdn.net/in546/article/details/117400839),如果自动配置环境变量的选项是灰色的话,请按照下面的教程把下面的几个文件路径加入环境变量。
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
在里面添加并写入文件路径加入就好了~
|
||||
|
||||

|
||||

|
||||
|
||||
然后打开 Pycharm,创建新项目,设置按照以下方式操作,记得挂梯子。
|
||||
|
||||
如果不挂梯子,请按照教程配置清华源。[我是教程](https://blog.csdn.net/jasneik/article/details/114227716)
|
||||
|
||||

|
||||

|
||||
|
||||
然后一个新的环境就创建好辣~
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
可以输入 `python3 --version` 检验是否成功。
|
||||
|
||||

|
||||

|
||||
|
||||
# Jupyter Notebook
|
||||
|
||||
@@ -50,6 +50,6 @@ jupyter notebook
|
||||
|
||||
进行使用
|
||||
|
||||

|
||||

|
||||
|
||||
[Pycharm](https://www.jetbrains.com/zh-cn/pycharm/):可能很多同学已经用上了,我在这里不做更多解释
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
什么是递归呢?
|
||||
|
||||

|
||||

|
||||
|
||||
#
|
||||
|
||||
|
||||
@@ -184,7 +184,7 @@ P7:9*9 乘法表
|
||||
|
||||
可能现在对你来说,构建像下图这样的 99 乘法表已经是非常容易的一件事了,可是如果我要求你使用 python 的列表生成器,在两行以内完成呢?
|
||||
|
||||

|
||||

|
||||
|
||||
P8:couple 情侣
|
||||
|
||||
|
||||
@@ -158,7 +158,7 @@ VS Code 的另一个不错的功能是它具有“嵌入式终端”。因此,
|
||||
|
||||
首先,打开一个终端窗口。
|
||||
|
||||

|
||||

|
||||
|
||||
#### 主目录
|
||||
|
||||
@@ -174,11 +174,11 @@ VS Code 的另一个不错的功能是它具有“嵌入式终端”。因此,
|
||||
|
||||
PATH 就像一个地址:它告诉您和计算机到某个文件夹的完整路径(或路由)。请记住,您可以通过两种不同的方式访问计算机上的文件和目录(文件夹)。您可以使用终端(这是一个<strong>命令行</strong>界面或 CLI),也可以使用 Finder <strong>。</strong>Finder 是<strong>图形</strong>用户<strong>界面</strong>(或 GUI)的一个 例子<strong>。</strong>导航技术不同,但文件相同。例如,这是我的 CS 61A 实验室文件夹在我的 GUI 中的样子:
|
||||
|
||||

|
||||

|
||||
|
||||
这是完全相同的文件夹在终端中的外观:
|
||||
|
||||

|
||||

|
||||
|
||||
请注意,在这两种情况下,黄色框都显示了 PATH,紫色椭圆显示了“labs”文件夹的内容。
|
||||
|
||||
@@ -186,7 +186,7 @@ PATH 就像一个地址:它告诉您和计算机到某个文件夹的完整路
|
||||
|
||||
让我们停下来思考一下终端和 Python 解释器之间的区别。
|
||||
|
||||

|
||||

|
||||
|
||||
1. 哪个是终端?
|
||||
2. 哪个是 Python 解释器?
|
||||
@@ -197,7 +197,7 @@ A 和 D 都是我的终端。在这里您可以运行 bash 命令,例如 `cd`
|
||||
|
||||
B 是 Python 解释器。你可以从 >>> 提示中看出这意味着你已经启动了一个 Python 解释器。您还可以判断,因为启动它的命令是可见的:`python3`。该 `python3` 命令启动 Python 解释器。如果您在 Python 解释器中键入 bash 命令,您可能会遇到语法错误!这是一个例子:
|
||||
|
||||

|
||||

|
||||
|
||||
C 是我的代码编辑器。这是我可以编写 Python 代码以通过我的终端执行的地方。
|
||||
|
||||
@@ -287,7 +287,7 @@ mkdir lab
|
||||
|
||||
现在,如果您列出目录的内容(使用 `ls`),您将看到两个文件夹,`projects` 和 `lab`.
|
||||
|
||||

|
||||

|
||||
|
||||
### 更多目录更改
|
||||
|
||||
@@ -475,7 +475,7 @@ ______
|
||||
|
||||
实验室还将包括函数编写问题。在你的文本编辑器中打开 `lab00.py`。您可以 `open .` 在 MacOS 或 `start .` Windows 上键入以在 Finder/文件资源管理器中打开当前目录。然后双击或右键单击以在文本编辑器中打开文件。你应该看到这样的东西:
|
||||
|
||||

|
||||

|
||||
|
||||
三引号中的行 `"""` 称为<strong>文档字符串(Docstring)</strong>,它描述了函数应该做什么。在 61A 中编写代码时,您应该始终阅读文档字符串!
|
||||
|
||||
@@ -483,7 +483,7 @@ ______
|
||||
|
||||
在这里,我们圈出了文档字符串和文档测试,以便于查看:
|
||||
|
||||

|
||||

|
||||
|
||||
在 `twenty_twenty_two`,
|
||||
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
一路下一步
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
这俩我推荐勾掉
|
||||
|
||||

|
||||

|
||||
|
||||
安装过后点许可证 输上面的 key 激活
|
||||
|
||||
@@ -30,15 +30,15 @@
|
||||
|
||||
下好回到 VMware
|
||||
|
||||

|
||||

|
||||
|
||||
创建新的虚拟机-典型(推荐)-下一步-安装程序 iso 选中你刚下的 iso 下一步
|
||||
|
||||

|
||||

|
||||
|
||||
这里填你一会儿要登录 linux 的个人信息
|
||||
|
||||

|
||||

|
||||
|
||||
这里建议把位置改到其他盘
|
||||
|
||||
@@ -46,21 +46,21 @@
|
||||
|
||||
启动后进入 Ubuntu 安装
|
||||
|
||||

|
||||

|
||||
|
||||
键盘映射 直接 continue
|
||||
|
||||
接下来一路 continue install now
|
||||
|
||||

|
||||

|
||||
|
||||
最后 restart
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
这个 skip
|
||||
|
||||
@@ -68,15 +68,15 @@
|
||||
|
||||
点右上角 settings
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
然后按指引 restart 系统
|
||||
|
||||

|
||||

|
||||
|
||||
会提示你要不要重新命名这些用户下的文件夹
|
||||
|
||||
@@ -84,27 +84,27 @@
|
||||
|
||||
如果你的语言还没有变过来的话
|
||||
|
||||

|
||||

|
||||
|
||||
点击这个他会安装语言
|
||||
|
||||

|
||||

|
||||
|
||||
把汉语拖到英文之上 点应用到整个系统
|
||||
|
||||

|
||||

|
||||
|
||||
右上角 logout 重新登陆 就是中文辣
|
||||
|
||||
最后在设置-电源把息屏改成从不
|
||||
|
||||

|
||||

|
||||
|
||||
<strong>至此 恭喜安装完成!</strong>
|
||||
|
||||
之后就可以在桌面上右键
|
||||
|
||||

|
||||

|
||||
|
||||
打开命令行
|
||||
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
|
||||
(现在可能是只开 `适用于Linux的windows子系统`)
|
||||
|
||||

|
||||

|
||||
|
||||
如果你的 windows 版本为<strong>家庭版</strong> 那么 hyperv 选项是没有的
|
||||
|
||||
你需要右键以管理员权限打开以下脚本来强行开启 hyperv
|
||||
|
||||

|
||||

|
||||
|
||||
@@ -15,4 +15,4 @@
|
||||
|
||||
|
||||
|
||||

|
||||

|
||||
|
||||
Reference in New Issue
Block a user