一、 命令行小工具 (CLI Tools)
这些工具在命令行中运行,让您专注于编程逻辑,而无需担心复杂的图形界面。
# | 项目名称 | 简介与核心技能 |
---|---|---|
1 | 单位转换器 (Unit Converter) | 输入一个值和单位(如100cm),将其转换为另一个单位(如m)。 技能点: if/elif/else 或字典、数学运算、用户输入处理。 |
2 | 小费计算器 (Tip Calculator) | 输入账单总额和满意度,计算应付的小费和总金额。 技能点: 数学运算、格式化输出、用户输入。 |
3 | BMI 计算器 (Body Mass Index) | 输入身高和体重,计算BMI指数并给出健康建议。 技能点: 数学运算、条件判断。 |
4 | 掷骰子模拟器 (Dice Roller) | 模拟掷一个或多个骰子,并返回结果。 技能点: 随机数生成、循环。 |
5 | 石头剪刀布游戏 (Rock, Paper, Scissors) | 与电脑玩石头剪刀布游戏。 技能点: 随机数、条件判断、用户输入。 |
6 | 密码生成器 (Simple Password Generator) | 生成一个指定长度的随机密码。 技能点: 随机数、字符串操作、循环。 |
7 | 倒计时器 (Countdown Timer) | 从指定时间开始倒计时,并在结束时提醒。 技能点: 时间库、循环、清屏操作。 |
8 | 简单的待办事项列表 (CLI Todo List) | 在程序运行时,可以添加、查看和删除任务(无需保存到文件)。 技能点: 列表(数组)操作、循环、用户输入。 |
9 | 简易计算器 (Simple Calculator) | 支持加、减、乘、除的基本运算。 技能点: 函数、条件判断、用户输入解析。 |
10 | 猜数字游戏 (Guess the Number) | 电脑随机想一个数,让玩家来猜,并给出“大了”或“小了”的提示。 技能点: 随机数、循环、条件判断。 |
二、 文本与文件处理 (Text & File Processing)
学习如何与文本和文件进行交互是编程的必备技能。
# | 项目名称 | 简介与核心技能 |
---|---|---|
11 | 单词计数器 (Word Counter) | 读取一个 .txt 文件,统计其中包含多少个单词。技能点: 文件读取、字符串分割。 |
12 | 回文检查器 (Palindrome Checker) | 检查用户输入的单词或短语是否是回文(正读反读都一样)。 技能点: 字符串切片/反转、条件判断。 |
13 | Mad Libs 故事生成器 | 提示用户输入名词、动词、形容词,然后将它们填入一个预设的故事模板中。 技能点: 字符串格式化、用户输入、列表。 |
14 | 简易日记本 (Simple Journal) | 允许用户写入一句话,程序会自动加上时间戳并追加到 journal.txt 文件中。技能点: 文件追加写入、时间库。 |
15 | 行号添加器 (Line Number Adder) | 读取一个文件,然后将带有行号的内容写入一个新文件。 技能点: 文件读写、循环、字符串拼接。 |
16 | CSV 读取器 (Simple CSV Reader) | 读取一个简单的CSV文件,并将其中的数据打印成格式化的表格。 技能点: 文件读取、字符串分割、循环。 |
17 | 文本反转器 (File Reverser) | 读取一个文件,将其中的每一行内容反转后,写入新文件。 技能点: 文件读写、字符串操作。 |
18 | 查找文件中的特定单词 | 提示用户输入一个单词,然后在指定文件中查找该单词出现的次数。 技能点: 文件读取、循环、条件判断。 |
19 | 批量创建文件夹 | 根据一个列表中的名字,在当前目录下创建多个文件夹。 技能点: 文件系统操作、循环。 |
20 | 字母计数器 (Letter Counter) | 统计一段文本中每个字母(a-z)出现的频率。 技能点: 字典(哈希表)、循环、字符串方法。 |
三、 数学与逻辑趣题 (Math & Logic Puzzles)
这些是经典的编程入门练习,能有效锻炼逻辑思维。
# | 项目名称 | 简介与核心技能 |
---|---|---|
21 | FizzBuzz | 打印1到100的数字,但3的倍数打印"Fizz",5的倍数打印"Buzz",15的倍数打印"FizzBuzz"。 技能点: 循环、模运算 % 、条件判断。 |
22 | 斐波那契数列 (Fibonacci Sequence) | 生成斐波那契数列的前 N 个数。 技能点: 循环、变量赋值。 |
23 | 阶乘计算器 (Factorial Calculator) | 计算一个给定数字的阶乘 (n!)。 技能点: 循环或递归。 |
24 | 素数检查器 (Prime Number Checker) | 检查一个数是否为素数。 技能点: 循环、数学逻辑。 |
25 | 找列表中的最大/最小值 | 不使用内置函数,找到一个数字列表中的最大值和最小值。 技能点: 循环、条件判断。 |
26 | 闰年检查器 (Leap Year Checker) | 判断一个给定的年份是否是闰年。 技能点: 条件判断、模运算。 |
27 | 数字各位之和 (Sum of Digits) | 计算一个整数所有位数上的数字之和(如 123 -> 6)。 技能点: 循环、模运算、整除。 |
28 | Collatz 猜想 | 从任意正整数开始,如果是奇数则乘以3加1,如果是偶数则除以2,最终都会得到1。 技能点: 循环、条件判断。 |
29 | 绘制金字塔 (Draw a Pyramid) | 在控制台用 * 或其他字符打印出一个金字塔形状。技能点: 嵌套循环、字符串操作。 |
30 | 简单利息计算器 (Simple Interest Calculator) | 根据本金、利率和时间计算单利。 技能点: 数学运算、函数。 |
四、 简单游戏与模拟 (Simple Games & Simulations)
# | 项目名称 | 简介与核心技能 |
---|---|---|
31 | 猜谜游戏 (Simple Quiz) | 提出几个预设的问题,并判断用户的答案是否正确,最后给出分数。 技能点: 列表/字典、循环、条件判断。 |
32 | 刽子手游戏 (Hangman) | 经典的猜单词游戏,猜错有次数限制。 技能点: 字符串操作、列表、循环、用户输入。 |
33 | 文字冒险游戏 (2-Room Dungeon) | 一个极简的文字冒险,只有两个房间,玩家可以输入 go north/south 来移动。技能点: 循环、条件判断、状态变量。 |
34 | 记忆配对游戏 (CLI Memory Game) | 在控制台显示一个字符网格,短暂显示后隐藏,让玩家输入坐标来匹配相同的字符。 技能点: 二维数组、定时器、用户输入。 |
35 | 高低牌游戏 (Higher or Lower) | 抽一张牌,让玩家猜下一张牌比当前牌大还是小。 技能点: 随机数、数据结构(表示扑克牌)、条件判断。 |
36 | 简易老虎机 (Simple Slot Machine) | 模拟一个三卷轴的老虎机,看是否能摇出中奖组合。 技能点: 随机数、列表、条件判断。 |
37 | 生命游戏(单步) | 创建一个 Game of Life 的初始状态,并只计算出它的下一个状态。技能点: 二维数组、嵌套循环。 |
38 | 井字棋(仅判断胜负) | 给定一个已完成的井字棋棋盘(二维数组),编写一个函数判断哪一方获胜。 技能点: 二维数组、条件判断、函数。 |
39 | 文本宠物 (Text-based Pet) | 一个简单的虚拟宠物,你可以给它喂食,它的饥饿值会随时间增加。 技能点: 对象/字典、循环、状态管理。 |
40 | 寻宝游戏 (CLI Treasure Hunt) | 在一个 5x5 的网格中藏一个宝藏,让玩家输入坐标来寻找。 技能点: 二维数组、循环、用户输入。 |
五、 简单API与Web交互 (Simple API & Web Interaction)
# | 项目名称 | 简介与核心技能 |
---|---|---|
41 | 随机笑话生成器 | 调用一个免费的笑话API,获取并打印一个随机的英文笑话。 技能点: HTTP请求库、API调用、JSON解析。 |
42 | 获取当前比特币价格 | 调用 CoinDesk 或类似 API,获取并显示比特币的当前价格。 技能点: API调用、JSON解析。 |
43 | 随机猫/狗图片链接 | 调用一个随机宠物图片的API,获取图片的URL并打印出来。 技能点: API调用、JSON解析。 |
44 | IP地址查询 | 调用一个 "What is my IP" 的API,获取并显示你自己的公网IP地址。<br技能点>: API调用、JSON解析。 |
45 | 生成二维码 | 使用一个简单的库,将用户输入的文本或URL转换成一个二维码图片并保存。 技能点: 第三方库的使用、函数调用。 |
46 | 检查网站是否在线 | 输入一个网址,程序发送一个请求,并根据返回的状态码判断网站是否可访问。 技能点: HTTP请求库、错误处理。 |
47 | 获取今日名言 | 调用一个名言API,获取并显示每日名言。 技能点: API调用、JSON解析。 |
48 | 生成静态HTML页面 | 编写一个程序,将一些文本内容生成一个简单的 index.html 文件。技能点: 文件写入、字符串格式化。 |
49 | 查询GitHub用户信息 | 输入一个GitHub用户名,调用GitHub API获取该用户的公开信息(如名字、粉丝数)。 技能点: API调用、JSON解析。 |
50 | 查询邮政编码信息 | 调用一个邮政编码查询API,输入邮政编码返回对应的地区信息。 技能点: API调用、JSON解析。 |