Dukeの快乐老家
3589 字
18 分钟
内部用-计算机预备知识
2024-09-29

计算机入门培训#

欢迎加入计算机部!本文档旨在帮助大家快速搭建开发环境,熟悉基本的工具和知识,为首次考核和后续开始开发做好准备。

NOTE

本文档涉及对开源项目或文档的部分引用,所有参考文档均基于MIT许可证开源,在此一并表示感谢。本文档仅供内部学习交流使用,不涉及商业及宣传性质,如有侵权请通过About页联系删除。


在初次考核前,请按照以下指导,**按顺序**完成准备工作。

入学霍格沃茨#

学计算机之前你得先会点魔法,虽然很简单但这是先决条件,具体不方便展开,哔哩哔哩、必应或者GPT镜像站有答案,请自己使用搜索引擎研究。研究好后谷歌搜索TUN模式怎么开。

NOTE

后续步骤依赖此步骤,请先研究明白

环境安装#

1. 安装 Scoop#

Scoop 需要 Windows PowerShell 5.1 或者 PowerShell 作为运行环境,如果你使用的是 Windows 10 及以上版本,Windows PowerShell 是内置在系统中的。而 Windows 7 内置的 Windows PowerShell 版本过于陈旧,你需要手动安装新版本的 PowerShell。微软官网有,可以必应搜索 powershell7,不过应该没人用 Win7,如果有建议尽快升级到 10 以上。

WARNING

很多同学在设置 Windows 用户时使用了中文用户名,导致了用户目录也变成了中文名。如果按照 Scoop 的默认方式将软件安装到用户目录下,可能会造成部分软件执行错误。所以这里推荐安装到自定义目录,如果需要其他安装方式请参考:ScoopInstaller/Install

TIP

如何打开 Windows 终端:

  1. 使用快捷键:按下 Win + X,然后选择 “Windows 终端” 或 “Windows 终端(管理员)“。
  2. 通过开始菜单:点击左下角的 “开始” 按钮,搜索 “Windows 终端”,然后点击打开。
  3. 右键菜单:在桌面或文件夹空白处右键,选择 “在 Windows 终端中打开”

在终端里依次执行以下命令,井号开头的行不需要执行,这叫做注释。

# 设置 PowerShell 执行策略
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# 下载安装脚本
irm get.scoop.sh -outfile 'install.ps1'
# 执行安装, --ScoopDir 参数指定 Scoop 安装路径
.\install.ps1 -ScoopDir 'C:\Scoop'

安装完成后,打开 命令提示符PowerShell,输入以下命令检查是否安装成功:

scoop --version

如果输出 Scoop 的版本号,则说明安装成功。

2. 使用 Scoop 安装开发环境#

Scoop 可以自动为你安装常用的开发工具。接下来我们将依次安装 Python、Git、Node.js、Sudo。

步骤 1:安装 Python#

  1. 命令提示符PowerShell 中执行以下命令:

    scoop install python
    
  2. 安装完成后,验证 Python 是否安装成功:

    python --version
    

步骤 2:安装 Git#

  1. 执行以下命令安装 Git:

    scoop install git
    
  2. 安装完成后,检查 Git 是否成功安装:

    git --version
    

步骤 3:安装 Node.js#

  1. 执行以下命令安装 Node.js:

    scoop install nodejs
    
  2. 安装完成后,检查 Node.js 和 npm 是否成功安装:

    node --version
    npm --version
    

步骤 4:安装 Sudo#

Sudo 是 Windows 上的一款工具,方便以管理员身份执行命令。

  1. 使用以下命令安装 Sudo:

    scoop install sudo
    
  2. 安装完成后,检查 Sudo 是否安装成功:

    sudo
    

步骤 5:安装 VSCode#

Visual Studio Code 需要从官方网站下载安装。

  1. 前往 Visual Studio Code 官方网站,下载适用于 Windows 的安装包并进行安装。

  2. 安装完成后,验证 VSCode 是否安装成功:

    code --version
    

3. 安装 pnpm#

pnpm 是一种高效的 JavaScript 包管理工具,可以通过 npm 轻松安装。

  1. 执行以下命令使用 npm 安装 pnpm:

    npm install -g pnpm
    
  2. 安装完成后,检查 pnpm 是否成功安装:

    pnpm --version
    

至此,你已经完成了在 Windows 上利用 Scoop 配置开发环境并安装 pnpm 的全过程。

4. 常见问题#

  • 如果开发过程中遇到权限问题,使用 sudo​ 命令来提升权限。
  • 如果某个命令未识别,重新开一个终端,并检查工具是否已成功安装。

Python光速入门#

如何运行一个 Python 程序#

方法一:使用命令提示符

  1. 创建文件夹:在电脑上,新建一个文件夹,路径和名称请使用英文字符(例如 D:\PythonProjects​)。
  2. 创建 Python 文件:在该文件夹内,右键选择“新建”->“文本文档”,确保能看到文件扩展名 .txt​。如果看不到,请询问文心一言或者chatGPT。
  3. 编写代码:打开新建的文本文件,输入代码,例如:​print("Hello, World!") ‍
  4. 保存并重命名:将文件另存为 hello.py​,注意将扩展名从 .txt​ 改为 .py​。
  5. 打开命令提示符:在文件夹空白处,按住 Shift​ 键并右键点击,选择“在此处打开命令窗口”或“在此处打开 PowerShell 窗口”。
  6. 运行程序:在命令提示符中输入:‍python hello.py ‍

方法二:使用 Visual Studio Code

  1. 打开 VSCode打开文件夹:点击菜单栏的“文件”->“打开文件夹”,选择一个英文路径的文件夹(如 C:\PythonProjects​)。
  2. 新建 Python 文件:在左侧资源管理器中,点击“新建文件”图标,命名为 hello.py​。
  3. 编写代码:在编辑器中输入代码。
  4. 运行程序:按下 F5​ 键,选择“Python 文件”作为调试配置。程序将运行,输出结果会显示在终端。

提示:如果无法运行,可能需要安装 Python 扩展,按照 VSCode 的通知提示点击安装即可。

VSCode 界面示例

书写规范#

  1. 缩进:Python 使用缩进来组织代码块,不需要用 {}​。通常使用 4 个空格进行缩进。
  2. 换行:当一行代码过长时,可以使用反斜杠 \​ 来换行,增强代码可读性。

空格的使用:

  • 在逗号 ,​、冒号 :​、分号 ;​ 后添加一个空格。
  • 不要在函数名与括号之间或括号内侧添加空格。
  • 在赋值 =​ 和比较运算符两侧添加空格,但在传递参数时不加空格。

命名规则:

  • 变量和函数:使用小写字母,单词间用下划线 _​ 分隔(例如 my_variable​)。
  • 类名:每个单词首字母大写,单词直接相连(例如 MyClass​)。

变量#

变量用于存储数据值。Python 支持以下标准数据类型:

  1. 数字:整数、浮点数等。
  2. 字符串:由单引号 '​ 或双引号 "​ 包裹的文本。
  3. 列表:使用方括号 []​,存储有序元素集合。
  4. 字典:使用花括号 {}​,存储键值对。
  5. 元组:使用圆括号 ()​,类似列表,但不可修改。

Python 是动态类型语言,不需要显式声明变量类型,直接赋值即可。

x = 10       # x 是整数类型
print(x)
x = "hello"  # 现在 x 是字符串类型
print(x)

注意:虽然变量类型可以改变,但为了代码清晰,建议避免频繁更改变量类型。

算术运算符#

除了加 +​、减 -​、乘 *​、除 /​,Python 还提供:

  1. /​:浮点除法,结果包含小数部分。
  2. //​:整数除法,结果向下取整。
  3. %​:取余数。
  4. **​:幂运算,a**b​ 表示 a 的 b 次方。
print(5 / 2)    # 输出 2.5
print(5 // 2)   # 输出 2
print(5 % 2)    # 输出 1
print(5 ** 2)   # 输出 25

赋值与比较#

  • 赋值运算符=​,用于将值赋给变量。
  • 比较运算符==​(等于)、!=​(不等于)、>​、<​、>=​、<=​。
x = 5
y = 2
print(x == y)  # 输出 False
print(x != y)  # 输出 True
print(x > y)   # 输出 True

逻辑运算符#

  1. and:逻辑与,两个条件都为真时返回 True。
  2. or:逻辑或,任一条件为真时返回 True。
  3. not:逻辑非,取反。
print((5 > 3) and (2 < 4))  # 输出 True
print((5 > 3) or (2 > 4))   # 输出 True
print(not (5 > 3))          # 输出 False

成员运算符#

  1. in:判断元素是否在序列中。
  2. not in:判断元素是否不在序列中。
a = 10
b = [10, 20, 30]

print(a in b)      # 输出 True
print(a not in b)  # 输出 False

控制流#

控制程序执行顺序的语句,包括:

  1. if 条件语句:根据条件判断执行不同代码块。
  2. for 循环:遍历序列中的元素。
  3. while 循环:在条件为真时重复执行代码块。
  4. break 语句:跳出当前循环。
  5. continue 语句:跳过本次循环,继续下一次。
# if 语句
age = 18
if age >= 18:
    print("成年")
else:
    print("未成年")

# for 循环
for i in range(3):
    print(i)  # 输出 0, 1, 2

# while 循环
count = 0
while count < 3:
    print(count)
    count += 1

# break 示例
for i in range(5):
    if i == 3:
        break
    print(i)  # 输出 0, 1, 2

# continue 示例
for i in range(5):
    if i == 3:
        continue
    print(i)  # 输出 0, 1, 2, 4

列表#

列表是有序、可变的元素集合,用方括号 []​ 表示。

# 创建列表
my_list = [1, 'hello', [2, 3]]

# 添加元素
my_list.append('new item')

# 访问元素
print(my_list[0])    # 输出 1
print(my_list[-1])   # 输出 'new item'

# 删除元素
del my_list[1]

# 合并列表
another_list = [4, 5]
combined_list = my_list + another_list
print(combined_list)

字符串#

字符串用于存储文本,用单引号 '​ 或双引号 "​ 包裹。

s = "Hello World"

# 访问字符
print(s[0])       # 输出 'H'

# 字符串方法
print(s.lower())  # 输出 'hello world'

# 拼接字符串
s += ", Python"
print(s)          # 输出 'Hello World, Python'

生成器#

生成器用于逐个生成值,节省内存。

# 使用 range 创建生成器
for i in range(5):
    print(i)  # 输出 0 到 4

生成器适用于处理大量数据或无限序列。

我学会了吗?#

现在,打开 洛谷,登录账号,在题库中选择“入门”题目,尝试解答一两道。如果顺利完成,说明你已经掌握了以上内容!

快速了解 OJ 如何使用#

在线评测系统(Online Judge,简称 OJ)是程序员练习编程和算法的常用平台。下面我们以洛谷(Luogu)上的一道经典题目 A+B 为例,讲解什么是题目的输入输出,如何在代码里按格式输入输出,以及常见的评测结果解读。

题目描述#

给定两个整数 AABB,计算它们的和。

输入格式#

一行,包含两个整数 AABB,以空格分隔。

输出格式#

一行,输出 AABB 的和。

样例输入#

1 2

样例输出#

3

Python 解法#

以下是使用 Python 解决该问题的示例代码,注意看代码的输入输出格式和技巧:

# 读取输入,并将其拆分为两个整数
a, b = map(int, input().split())

# 计算并输出结果
print(a + b)

代码说明:

  • 使用 input().split()​ 读取一行输入,并按空格分隔。
  • 使用 map(int, ...)​ 将字符串转换为整数。
  • 使用 print()​ 输出结果。

C++ 解法#

以下是使用 C++ 解决该问题的示例代码:

#include <iostream>
using namespace std;

int main() {
    int a, b;
    // 读取输入
    cin >> a >> b;
    // 输出结果
    cout << a + b << endl;
    return 0;
}

代码说明:

  • 包含头文件 <iostream>​ 以使用输入输出。
  • 使用 cin​ 读取两个整数。
  • 使用 cout​ 输出结果,并以 endl​ 换行。

提交步骤#

  1. 登录洛谷:进入洛谷官方网站并登录你的账号。
  2. 找到题目:在题库中搜索 “A+B” 题目。
  3. 编写代码:在在线编辑器中粘贴上述代码,选择对应的编程语言(Python 或 C++)。
  4. 提交评测:点击提交按钮,等待评测结果。

评测结果解读#

  • AC(Accepted) :答案正确,程序通过所有测试用例。
  • WA(Wrong Answer) :答案错误,程序未通过某些测试用例。
  • TLE(Time Limit Exceeded) :超出时间限制,程序运行时间过长。
  • MLE(Memory Limit Exceeded) :超出内存限制,程序占用内存过大。
  • RE(Runtime Error) :运行时错误,程序在运行过程中崩溃或出现异常。
  • CE(Compile Error) :编译错误,代码无法通过编译。

注意事项#

  • 严格按照输入输出格式:OJ 对输入输出格式要求非常严格,需与题目描述完全一致。
  • 数据范围:注意题目中给定的数据范围,选择合适的数据类型(如 int​、long​ 等)。
  • 编码规范:只使用标准库,避免平台不支持导致错误。

管理项目并和队友协作-GitHub注册#

注册 GitHub 账号#

GitHub 是一个基于 Git 的代码托管平台,方便开发者协作和分享代码。

注册步骤:

  1. 访问 GitHub 网站:

  2. 创建账号:

    • 点击“Sign up”按钮。
    • 输入邮箱、密码和用户名,按照提示完成注册流程。
    • 验证邮箱以激活账号。

创建自我介绍仓库#

通过创建一个自我介绍的仓库,可以让他人更好地了解你。

创建步骤:

  1. 新建仓库:

    • 登录 GitHub 后,点击右上角的“+”号,选择“New repository”。
    • 仓库名称需与用户名相同,这样可以创建一个特殊的个人简介仓库。
    • 例如,用户名为 your-username​,则仓库名也需为 your-username​。
  2. 填写仓库信息:

    • 在“Repository name”中输入你的用户名。
    • 添加仓库描述,如“Welcome to my GitHub profile!”。
    • 勾选“Add a README file”选项。
    • 点击“Create repository”按钮。
  3. 编辑 README 文件:

    • 在新创建的仓库中,点击“README.md”文件。

    • 点击铅笔图标进行编辑。

    • 使用 Markdown 语法添加自我介绍内容,包括:

      • 你的昵称
      • 兴趣爱好
      • 掌握的技能
  4. 提交更改:

    • 编辑完成后,填写“Commit message”。
    • 点击“Commit changes”保存更改。

最终你的主页应该会展示你的自我介绍,例如:

image

恭喜完成预备工作#

  1. 在你的电脑上执行这些指令,获得输出。然后截图你的终端。

    > python --version
    Python 3.12.3
    
    > git --version
    git version 2.45.1.windows.1
    
    > node --version
    v22.8.0
    
    > npm --version
    10.8.2
    
    > sudo
    usage: sudo <cmd...>
    
    > code --version
    0.41.2
    
    > pnpm --version
    9.9.0
    
  2. 截图你的Github主页,包含自我介绍。

  3. 复制你的主页链接地址,格式是https://github.com/你的名字

  4. 把刚才三步的所有内容一次性发到考核群里,截止10月8日。

  5. 10月9日晚上在洛谷网站进行考核,难度非常easy,请放轻松。前提是你认真读本文档了。

内部用-计算机预备知识
https://fuwari.vercel.app/posts/计算机预备知识/
作者
Duke486
发布于
2024-09-29
许可协议
CC BY-NC-SA 4.0