在线编程练习场¶
练习说明
本页面提供常用编程语言的在线运行环境,方便你快速练习教程中的代码示例。
Python 在线运行¶
🐍 Python Online Compiler
支持 Python 3.x,无需安装环境,直接在浏览器中运行代码。
快速练习¶
复制以下代码到在线编辑器中运行:
# 练习 1: 变量和数据类型
name = "测试工程师"
age = 25
print(f"我是一名{name},今年{age}岁")
# 练习 2: 列表操作
test_cases = ["登录测试", "注册测试", "支付测试"]
print(f"共 {len(test_cases)} 个测试用例")
for case in test_cases:
print(f"- {case}")
# 练习 3: 字典操作
bug = {
"id": "BUG-001",
"title": "登录按钮无响应",
"severity": "Major",
"status": "Open"
}
print(f"Bug {bug['id']}: {bug['title']}")
print(f"严重程度: {bug['severity']}")
# 练习 4: 函数定义
def calculate_pass_rate(total, passed):
"""计算测试通过率"""
if total == 0:
return 0
return round((passed / total) * 100, 2)
result = calculate_pass_rate(100, 85)
print(f"通过率: {result}%")
SQL 在线运行¶
🗄️ SQL Online Editor
支持 MySQL/PostgreSQL/SQLite,可在线创建表、执行查询。
快速练习¶
复制以下 SQL 到在线编辑器中运行:
-- 创建测试数据表
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50),
phone VARCHAR(11),
status VARCHAR(10),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE orders (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
amount DECIMAL(10,2),
status VARCHAR(20),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-- 插入测试数据
INSERT INTO users (username, phone, status) VALUES
('张三', '13800138001', 'active'),
('李四', '13800138002', 'active'),
('王五', '13800138003', 'disabled');
INSERT INTO orders (user_id, amount, status) VALUES
(1, 100.00, 'paid'),
(1, 200.50, 'paid'),
(2, 50.00, 'pending'),
(1, 300.00, 'cancelled');
-- 练习查询
-- 1. 查询所有活跃用户
SELECT * FROM users WHERE status = 'active';
-- 2. 查询张三的已支付订单
SELECT o.id, o.amount, o.status
FROM orders o
JOIN users u ON o.user_id = u.id
WHERE u.username = '张三' AND o.status = 'paid';
-- 3. 统计每个用户的订单数量和总金额
SELECT u.username, COUNT(o.id) AS order_count, SUM(o.amount) AS total_amount
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
GROUP BY u.id, u.username;
JavaScript 在线运行¶
快速练习¶
// 练习 1: 变量和函数
const testName = "登录功能测试";
const passRate = 85.5;
console.log(`测试: ${testName}, 通过率: ${passRate}%`);
// 练习 2: 对象操作
const bug = {
id: "BUG-001",
title: "登录按钮无响应",
severity: "Major",
status: "Open"
};
console.log(`Bug ${bug.id}: ${bug.title}`);
// 练习 3: 数组操作
const testCases = [
{ id: 1, name: "正常登录", result: "Pass" },
{ id: 2, name: "密码错误", result: "Pass" },
{ id: 3, name: "账号锁定", result: "Fail" }
];
const passed = testCases.filter(tc => tc.result === "Pass");
console.log(`通过 ${passed.length}/${testCases.length} 个用例`);
// 练习 4: 异步请求(在浏览器控制台运行)
async function checkApi() {
try {
const response = await fetch("https://jsonplaceholder.typicode.com/todos/1");
const data = await response.json();
console.log("API 响应:", data);
} catch (error) {
console.error("请求失败:", error);
}
}
// checkApi(); // 取消注释运行
在线工具推荐¶
| 工具 | 用途 | 链接 |
|---|---|---|
| Postman | API 测试和调试 | postman.com |
| Regex101 | 正则表达式测试 | regex101.com |
| JSON Formatter | JSON 格式化和验证 | jsonformatter.org |
| JWT.io | JWT Token 解析 | jwt.io |
| CyberChef | 数据编解码 | gchq.github.io/CyberChef |
学习建议¶
高效练习
- 边学边练:看教程时,把代码复制到在线编辑器中运行
- 修改参数:改改代码中的值,看看输出有什么变化
- 解决问题:遇到报错不要怕,学会看错误信息
- 记录笔记:把练习中的收获记录下来