《Python从入门到精通:全栈开发与人工智能实战》
完整版:完整版
https://rshrt.com/PythonAndAI
可能需要刷新几次网页,然后验证码要等网页加载完后在点击进行验证,其中可能会跳转到其他网页,如果跳转,直接返回网页即可
可能加载有一点慢,加油坚持就是胜利,坚持下去,你将成为下一代python精通的人成为一名合格的程序员!!!
前言
在数字化浪潮席卷全球的今天,编程已成为21世纪最重要的技能之一。而Python,以其优雅简洁的语法、强大的功能库和广泛的应用领域,成为了无数开发者的首选语言。无论你是编程新手,希望打开编程世界的大门;还是有一定经验的开发者,渴望提升技能水平;或是想要转型人工智能、数据分析等热门领域的技术人员,本书都将是你理想的伴侣。
本书的编写遵循"循序渐进、理论与实践并重"的原则,从最基本的Python语法开始,逐步深入到高级编程技巧,最后涵盖Python在数据科学、人工智能、Web开发等热门领域的实战应用。全书共分为八个部分,二十八个章节,每个章节都包含丰富的代码示例、实际项目和练习题,确保读者能够真正掌握所学知识。
本书特色
系统性:涵盖Python从基础到高级的全部核心知识
实战性:每章都配有实际项目案例,理论与实践结合
前沿性:包含人工智能、大数据等前沿技术应用
专业性:深入讲解Python高级特性和最佳实践
全面性:覆盖Web开发、数据分析、机器学习等多个领域
目标读者
-
编程零基础的初学者
-
有一定编程经验想系统学习Python的开发者
-
希望转型人工智能、数据分析的技术人员
-
高校计算机相关专业学生
-
希望提升编程能力的科研工作者
学习建议
动手实践:编程是实践性技能,务必动手编写每一行代码
循序渐进:按照章节顺序学习,打好基础再进入高级内容
反复练习:完成每章后的练习题,巩固所学知识
项目驱动:通过实际项目加深理解,积累开发经验
持续学习:编程技术日新月异,养成持续学习的习惯
第一部分:Python编程基础(共5章,约12万字)
第1章:Python概述与环境搭建(约2.5万字)
1.1 Python的历史与发展
Python诞生于1989年圣诞节期间,由荷兰程序员吉多·范罗苏姆(Guido van Rossum)创造。当时,吉多在荷兰国家数学和计算机科学研究所工作,为了打发圣诞节的无聊时光,决定开发一个新的脚本解释程序。Python这个名字来源于吉多喜欢的电视剧《蒙提·派森的飞行马戏团》(Monty Python's Flying Circus),与蟒蛇无关。
Python的重要发展里程碑:
-
1991年:Python 0.9.0发布,包含类、异常处理、函数等基础特性
-
2000年:Python 2.0发布,加入垃圾回收机制、Unicode支持
-
2008年:Python 3.0发布,解决Python 2.x中的设计缺陷
-
2020年:Python 2.x正式停止维护
Python的设计哲学: Python的设计强调代码的可读性和简洁性。在Python交互解释器中输入import this可以查看Python之禅(The Zen of Python):
python
# Python之禅的部分内容
"""
优美胜于丑陋
明了胜于晦涩
简洁胜于复杂
扁平胜于嵌套
间隔胜于紧凑
可读性很重要
…
"""
1.2 Python的特点与优势
1.2.1 简洁易读的语法 Python采用清晰的缩进来表示代码块,强制养成良好的编程习惯。与其他语言相比,Python可以用更少的代码完成相同的功能。
对比示例:
python
# Python实现Hello World
print("Hello, World!")
# Java实现Hello World
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
# C++实现Hello World
#include <iostream>
using namespace std;
int main() {
cout << "Hello, World!" << endl;
return 0;
}
1.2.2 丰富的标准库和第三方库 Python拥有庞大的生态系统,包括:
-
标准库:内置了数百个模块,涵盖文件处理、网络通信、数据库访问等
-
第三方库:PyPI(Python Package Index)上有超过30万个包
-
框架:Django、Flask(Web开发)、TensorFlow、PyTorch(机器学习)等
1.2.3 跨平台特性 Python可以在Windows、Linux、macOS等多个操作系统上运行,真正实现"一次编写,到处运行"。
1.2.4 强大的社区支持 Python拥有活跃的全球社区,遇到问题可以轻松找到解决方案和帮助。
1.3 Python应用领域
Web开发:Django、Flask、FastAPI等框架
数据科学:NumPy、Pandas、Matplotlib等库
人工智能与机器学习:TensorFlow、PyTorch、Scikit-learn
自动化运维:Ansible、SaltStack等工具
网络爬虫:Scrapy、BeautifulSoup等库
桌面应用:PyQt、Tkinter等GUI库
游戏开发:Pygame等游戏引擎
科学计算:SciPy、SymPy等数学库
1.4 Python环境安装与配置
1.4.1 Windows系统安装
访问Python官网(https://www.python.org)
下载最新版本的Python安装程序
运行安装程序,务必勾选"Add Python to PATH"
选择自定义安装或使用默认设置
完成安装后验证
验证安装:
bash
# 打开命令提示符(CMD)或PowerShell
python –version
# 应显示类似:Python 3.x.x
1.4.2 macOS系统安装
bash
# 方法1:使用Homebrew安装
brew install python3
# 方法2:官网下载安装包
# 访问Python官网下载macOS安装包
1.4.3 Linux系统安装
bash
# Ubuntu/Debian系统
sudo apt update
sudo apt install python3 python3-pip
# CentOS/RHEL系统
sudo yum install python3
1.5 开发工具的选择与配置
1.5.1 集成开发环境(IDE)
PyCharm:功能强大的专业Python IDE
-
专业版(收费)和社区版(免费)
-
智能代码补全、调试、测试、版本控制集成
Visual Studio Code:轻量级但功能强大的编辑器
-
免费开源,扩展性强
-
安装Python扩展后功能完善
Jupyter Notebook:交互式编程环境
-
适合数据科学和教学
-
支持代码、文本、可视化混合
1.5.2 代码编辑器的配置
VS Code Python开发环境配置:
json
// settings.json配置示例
{
"python.pythonPath": "python3",
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.formatting.provider": "black",
"editor.formatOnSave": true,
"python.autoComplete.addBrackets": true
}
1.5.3 虚拟环境管理
为什么需要虚拟环境?
-
隔离不同项目的依赖
-
避免包版本冲突
-
便于项目部署和共享
创建虚拟环境:
bash
# 使用venv创建虚拟环境
python -m venv myenv
# 激活虚拟环境
# Windows:
myenv\\Scripts\\activate
# macOS/Linux:
source myenv/bin/activate
# 安装包到虚拟环境
pip install package_name
# 导出依赖
pip freeze > requirements.txt
# 安装依赖
pip install -r requirements.txt
1.6 第一个Python程序
1.6.1 使用Python交互模式
python
# 启动Python交互模式
python
# 或 python3
# 在交互模式中执行
>>> print("Hello, Python!")
Hello, Python!
>>> 2 + 3 * 4
14
>>> exit() # 退出交互模式
1.6.2 编写Python脚本文件
hello.py:
python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
第一个Python程序
作者:你的名字
日期:2023年
"""
def main():
"""主函数"""
print("=" * 50)
print("欢迎学习Python编程!")
print("=" * 50)
# 获取用户输入
name = input("请输入你的名字:")
# 格式化输出
print(f"你好,{name}!")
print(f"名字长度:{len(name)}")
# 简单的计算
num1 = float(input("请输入第一个数字:"))
num2 = float(input("请输入第二个数字:"))
print(f"{num1} + {num2} = {num1 + num2}")
print(f"{num1} – {num2} = {num1 – num2}")
print(f"{num1} × {num2} = {num1 * num2}")
if num2 != 0:
print(f"{num1} ÷ {num2} = {num1 / num2}")
else:
print("除数不能为0!")
# Python程序入口
if __name__ == "__main__":
main()
运行脚本:
bash
# 方法1:使用python命令
python hello.py
# 方法2:给文件添加执行权限(Linux/macOS)
chmod +x hello.py
./hello.py
1.7 Python编码规范
1.7.1 PEP 8规范 PEP 8是Python官方的编码风格指南,主要内容包括:
缩进:使用4个空格(不要使用Tab)
行长:每行不超过79个字符
空行:
-
函数和类定义之间用两个空行
-
类内方法定义之间用一个空行
导入:
python
# 正确示例
import os
import sys
from subprocess import Popen, PIPE
# 导入顺序
# 1. 标准库
# 2. 第三方库
# 3. 本地模块
1.7.2 命名约定
python
# 变量和函数:小写字母,单词间用下划线
variable_name = "value"
def function_name():
pass
# 类名:驼峰命名法
class ClassName:
pass
# 常量:全大写字母
CONSTANT_NAME = 100
1.8 调试技巧
1.8.1 使用print调试
python
def calculate_average(numbers):
print(f"[DEBUG] 输入列表:{numbers}") # 调试输出
print(f"[DEBUG] 列表长度:{len(numbers)}")
if not numbers:
print("[DEBUG] 列表为空")
return 0
total = sum(numbers)
print(f"[DEBUG] 总和:{total}")
average = total / len(numbers)
print(f"[DEBUG] 平均值:{average}")
return average
1.8.2 使用pdb调试器
python
import pdb
def divide_numbers(a, b):
pdb.set_trace() # 设置断点
result = a / b
return result
# pdb常用命令:
# n(ext) – 执行下一行
# s(tep) – 进入函数
# c(ontinue) – 继续执行
# l(ist) – 显示当前代码
# p – 打印变量值
# q(uit) – 退出调试
1.9 本章小结
本章介绍了Python的历史、特点、应用领域以及开发环境的搭建。通过本章的学习,你应该已经:
了解Python的发展历程和设计哲学
理解Python的主要优势和应用场景
成功安装Python并配置开发环境
能够编写和运行简单的Python程序
了解Python编码规范和基本调试方法
实践项目:开发环境配置与验证
项目要求:
安装Python 3.x最新版本
配置至少一种IDE或编辑器
创建虚拟环境并安装常用包
编写一个完整的Python程序,包含:
-
用户输入输出
-
基本计算功能
-
错误处理
-
注释和文档字符串
扩展阅读:
《Python之禅》全文理解
PEP 8完整规范文档
不同IDE的详细配置教程
Python社区资源和学习路径
第2章:Python基础语法(约2.5万字)
2.1 变量与数据类型
2.1.1 变量定义与命名规则
python
# 变量定义
name = "张三" # 字符串类型
age = 25 # 整数类型
height = 1.75 # 浮点数类型
is_student = True # 布尔类型
# Python是动态类型语言,变量类型可以改变
x = 10 # x是整数
x = "hello" # x现在是字符串
# 多重赋值
a, b, c = 1, 2, 3
x = y = z = 0
# 变量交换
a, b = b, a
2.1.2 基本数据类型
数字类型:
python
# 整数(int)
num1 = 10
num2 = -5
num3 = 0
large_num = 1_000_000 # Python 3.6+支持使用下划线提高可读性
# 浮点数(float)
float1 = 3.14
float2 = 2.0
float3 = 4.5e-3 # 科学计数法:0.0045
# 复数(complex)
complex1 = 3 + 4j
complex2 = complex(2, -3)
# 布尔值(bool)
is_true = True
is_false = False
# 类型转换
int_num = int(3.14) # 3
float_num = float(10) # 10.0
bool_val = bool(0) # False
str_num = str(123) # "123"
2.1.3 类型检查与判断
python
# 使用type()函数
print(type(10)) # <class 'int'>
print(type(3.14)) # <class 'float'>
print(type("hello")) # <class 'str'>
print(type(True)) # <class 'bool'>
# 使用isinstance()函数
print(isinstance(10, int)) # True
print(isinstance(3.14, (int, float))) # True,可以是多个类型之一
# 类型判断在实际编程中的应用
def process_value(value):
"""处理不同类型的值"""
if isinstance(value, int):
return value * 2
elif isinstance(value, float):
return value * 1.5
elif isinstance(value, str):
return value.upper()
else:
return str(value)
2.2 运算符详解
2.2.1 算术运算符
python
# 基本算术运算
a = 10
b = 3
print(a + b) # 13,加法
print(a – b) # 7,减法
print(a * b) # 30,乘法
print(a / b) # 3.3333333333333335,除法(浮点数结果)
print(a // b) # 3,整除
print(a % b) # 1,取模(求余数)
print(a ** b) # 1000,幂运算
# 特殊运算符
print(divmod(a, b)) # (3, 1),同时返回商和余数
2.2.2 比较运算符
python
a = 10
b = 20
print(a == b) # False,等于
print(a != b) # True,不等于
print(a > b) # False,大于
print(a < b) # True,小于
print(a >= b) # False,大于等于
print(a <= b) # True,小于等于
# 字符串比较(按字典序)
print("apple" < "banana") # True
print("cat" > "dog") # False
2.2.3 逻辑运算符
python
# and(与):所有条件都为True时返回True
print(True and True) # True
print(True and False) # False
print(5 > 3 and 2 < 4) # True
# or(或):至少一个条件为True时返回True
print(True or False) # True
print(False or False) # False
# not(非):取反
print(not True) # False
print(not False) # True
# 短路求值
def expensive_operation():
print("执行耗时操作…")
return True
# 如果第一个条件为False,第二个条件不会执行
if False and expensive_operation():
print("不会执行到这里")
2.2.4 赋值运算符
python
x = 10
# 复合赋值运算符
x += 5 # x = x + 5
x -= 3 # x = x – 3
x *= 2 # x = x * 2
x /= 4 # x = x / 4
x //= 2 # x = x // 2
x %= 3 # x = x % 3
x **= 2 # x = x ** 2
# 海象运算符(Python 3.8+)
# 在表达式内部进行赋值
if (n := len([1, 2, 3])) > 2:
print(f"列表长度{n}大于2")
2.2.5 成员运算符
python
# in:如果在序列中找到值返回True
# not in:如果在序列中没有找到值返回True
numbers = [1, 2, 3, 4, 5]
print(3 in numbers) # True
print(10 in numbers) # False
print(3 not in numbers) # False
print(10 not in numbers) # True
text = "Hello, World!"
print("World" in text) # True
print("Python" in text) # False
2.2.6 身份运算符
python
# is:判断两个对象是否是同一个对象(内存地址相同)
# is not:判断两个对象是否不是同一个对象
a = [1, 2, 3]
b = a # b和a指向同一个列表对象
c = [1, 2, 3] # c是一个新的列表对象
print(a is b) # True,同一个对象
print(a is c) # False,不同对象
print(a == c) # True,值相同但对象不同
# None的比较应该使用is而不是==
x = None
print(x is None) # True
print(x == None) # True(但不推荐)
2.3 输入与输出
2.3.1 基本输出
python
# print()函数的基本用法
print("Hello, World!") # 输出字符串
print(100) # 输出数字
print(3.14) # 输出浮点数
# 多个参数输出
name = "Alice"
age = 25
print("姓名:", name, "年龄:", age) # 输出:姓名: Alice 年龄: 25
# sep参数:指定分隔符
print("2023", "08", "15", sep="-") # 2023-08-15
# end参数:指定结束符
print("Hello", end=" ")
print("World") # Hello World(同一行)
2.3.2 格式化输出
python
name = "张三"
age = 25
score = 89.5
# 1. %格式化(传统方式)
print("姓名:%s,年龄:%d,分数:%.2f" % (name, age, score))
# 2. str.format()方法(Python 2.6+)
print("姓名:{},年龄:{},分数:{:.2f}".format(name, age, score))
print("姓名:{0},年龄:{1},分数:{2:.2f}".format(name, age, score))
print("姓名:{name},年龄:{age},分数:{score:.2f}".format(
name=name, age=age, score=score))
# 3. f-string(Python 3.6+,推荐使用)
print(f"姓名:{name},年龄:{age},分数:{score:.2f}")
print(f"明年年龄:{age + 1}")
print(f"姓名长度:{len(name)}")
# f-string高级用法
import math
print(f"π的值:{math.pi:.4f}") # 保留4位小数
print(f"十六进制:{255:#x}") # 0xff
print(f"科学计数法:{1000000:.2e}") # 1.00e+06
2.3.3 基本输入
python
# input()函数:获取用户输入(返回字符串)
name = input("请输入你的名字:")
print(f"你好,{name}!")
# 数值输入需要类型转换
age_str = input("请输入你的年龄:")
age = int(age_str) # 转换为整数
print(f"明年你将{age + 1}岁")
# 处理输入错误
while True:
try:
num = float(input("请输入一个数字:"))
print(f"你输入的数字是:{num}")
break
except ValueError:
print("输入错误,请重新输入一个有效的数字!")
2.4 流程控制
2.4.1 条件判断(if语句)
python
# 基本if语句
age = 18
if age >= 18:
print("你已经成年了")
print("可以考驾照了")
# if-else语句
score = 85
if score >= 60:
print("及格")
else:
print("不及格")
# if-elif-else语句
score = 85
if score >= 90:
grade = "A"
print("优秀")
elif score >= 80:
grade = "B"
print("良好")
elif score >= 70:
grade = "C"
print("中等")
elif score >= 60:
grade = "D"
print("及格")
else:
grade = "F"
print("不及格")
print(f"等级:{grade}")
# 嵌套if语句
age = 20
has_license = True
if age >= 18:
print("年龄符合要求")
if has_license:
print("可以租车")
else:
print("需要先考取驾照")
else:
print("年龄不符合要求")
2.4.2 循环结构
while循环:
python
# 基本while循环
count = 0
while count < 5:
print(f"计数:{count}")
count += 1
# while-else结构
count = 0
while count < 3:
print(f"count = {count}")
count += 1
else:
print("循环正常结束")
# 无限循环与break
while True:
user_input = input("输入'quit'退出:")
if user_input == 'quit':
print("程序结束")
break # 跳出循环
print(f"你输入了:{user_input}")
# continue语句
num = 0
while num < 10:
num += 1
if num % 2 == 0:
continue # 跳过偶数
print(f"奇数:{num}")
for循环:
python
# 遍历列表
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
for fruit in fruits:
print(f"我喜欢吃{fruit}")
# 遍历字符串
text = "Python"
for char in text:
print(char)
# range()函数
for i in range(5): # 0, 1, 2, 3, 4
print(i)
for i in range(2, 6): # 2, 3, 4, 5
print(i)
for i in range(0, 10, 2): # 0, 2, 4, 6, 8
print(i)
# 反向遍历
for i in range(5, 0, -1): # 5, 4, 3, 2, 1
print(i)
# enumerate()函数:同时获取索引和值
fruits = ["苹果", "香蕉", "橙子"]
for index, fruit in enumerate(fruits):
print(f"索引{index}: {fruit}")
# zip()函数:同时遍历多个序列
names = ["Alice", "Bob", "Charlie"]
scores = [85, 92, 78]
for name, score in zip(names, scores):
print(f"{name}的分数是{score}")
# for-else结构
for i in range(5):
print(i)
if i == 3:
break
else:
print("循环正常结束") # 如果循环被break中断,else不会执行
2.5 项目实战:学生成绩管理系统(基础版)
项目需求:
能够录入学生信息(姓名、学号)
能够录入多门课程成绩
计算每个学生的总分和平均分
根据平均分评定等级
显示所有学生信息
查找特定学生信息
代码实现:
python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
学生成绩管理系统(基础版)
作者:Python学习者
"""
class Student:
"""学生类"""
def __init__(self, name, student_id):
"""初始化学生信息"""
self.name = name
self.student_id = student_id
self.scores = {} # 课程名: 分数
self.total_score = 0
self.average_score = 0
self.grade = ""
def add_score(self, course, score):
"""添加课程成绩"""
if course in self.scores:
print(f"警告:{course}成绩已存在,将被覆盖")
self.scores[course] = score
self._calculate_stats()
def _calculate_stats(self):
"""计算统计信息"""
if self.scores:
self.total_score = sum(self.scores.values())
self.average_score = self.total_score / len(self.scores)
self._determine_grade()
def _determine_grade(self):
"""评定等级"""
if self.average_score >= 90:
self.grade = "A"
elif self.average_score >= 80:
self.grade = "B"
elif self.average_score >= 70:
self.grade = "C"
elif self.average_score >= 60:
self.grade = "D"
else:
self.grade = "F"
def display_info(self):
"""显示学生信息"""
print("=" * 50)
print(f"姓名:{self.name}")
print(f"学号:{self.student_id}")
print("成绩详情:")
for course, score in self.scores.items():
print(f" {course}: {score}")
print(f"总分:{self.total_score:.1f}")
print(f"平均分:{self.average_score:.1f}")
print(f"等级:{self.grade}")
print("=" * 50)
class GradeManagementSystem:
"""成绩管理系统"""
def __init__(self):
"""初始化系统"""
self.students = {} # 学号: Student对象
def add_student(self):
"""添加学生"""
print("\\n— 添加学生 —")
name = input("请输入学生姓名:")
student_id = input("请输入学号:")
if student_id in self.students:
print("错误:该学号已存在!")
return
student = Student(name, student_id)
self.students[student_id] = student
print(f"学生{name}添加成功!")
def add_score_for_student(self):
"""为学生添加成绩"""
print("\\n— 添加成绩 —")
student_id = input("请输入学号:")
if student_id not in self.students:
print("错误:学生不存在!")
return
student = self.students[student_id]
course = input("请输入课程名:")
while True:
try:
score = float(input("请输入成绩(0-100):"))
if 0 <= score <= 100:
break
else:
print("成绩必须在0-100之间!")
except ValueError:
print("请输入有效的数字!")
student.add_score(course, score)
print(f"{course}成绩添加成功!")
def display_all_students(self):
"""显示所有学生"""
print("\\n— 所有学生信息 —")
if not self.students:
print("暂无学生信息")
return
for student_id, student in self.students.items():
student.display_info()
def search_student(self):
"""查找学生"""
print("\\n— 查找学生 —")
search_type = input("按(1)学号或(2)姓名查找:")
if search_type == "1":
student_id = input("请输入学号:")
if student_id in self.students:
self.students[student_id].display_info()
else:
print("未找到该学生")
elif search_type == "2":
name = input("请输入姓名:")
found = False
for student in self.students.values():
if student.name == name:
student.display_info()
found = True
if not found:
print("未找到该学生")
else:
print("无效的选择!")
def show_statistics(self):
"""显示统计信息"""
print("\\n— 统计信息 —")
if not self.students:
print("暂无数据")
return
total_students = len(self.students)
total_scores = []
for student in self.students.values():
if student.scores:
total_scores.append(student.average_score)
if total_scores:
avg_all = sum(total_scores) / len(total_scores)
max_score = max(total_scores)
min_score = min(total_scores)
print(f"学生总数:{total_students}")
print(f"全校平均分:{avg_all:.2f}")
print(f"最高平均分:{max_score:.2f}")
print(f"最低平均分:{min_score:.2f}")
# 等级分布
grades = {'A': 0, 'B': 0, 'C': 0, 'D': 0, 'F': 0}
for student in self.students.values():
if student.grade:
grades[student.grade] += 1
print("\\n等级分布:")
for grade, count in grades.items():
percentage = (count / total_students * 100) if total_students > 0 else 0
print(f" {grade}级:{count}人 ({percentage:.1f}%)")
def run(self):
"""运行系统"""
while True:
print("\\n=== 学生成绩管理系统 ===")
print("1. 添加学生")
print("2. 添加成绩")
print("3. 查看所有学生")
print("4. 查找学生")
print("5. 查看统计信息")
print("6. 退出系统")
choice = input("请选择操作(1-6):")
if choice == "1":
self.add_student()
elif choice == "2":
self.add_score_for_student()
elif choice == "3":
self.display_all_students()
elif choice == "4":
self.search_student()
elif choice == "5":
self.show_statistics()
elif choice == "6":
print("感谢使用学生成绩管理系统!")
break
else:
print("无效的选择,请重新输入!")
# 程序入口
if __name__ == "__main__":
system = GradeManagementSystem()
system.run()
2.6 本章小结与练习
本章重点回顾:
Python变量和基本数据类型
各种运算符的使用
输入输出的多种方式
流程控制结构(条件判断和循环)
错误处理的基本方法
练习题:
基础题:
编写一个程序,计算1到100之间所有偶数的和
实现一个猜数字游戏,随机生成1-100之间的数字,用户有10次猜测机会
编写一个程序,判断一个字符串是否是回文(正反读都一样)
进阶题: 4. 扩展学生成绩管理系统,添加以下功能:
-
删除学生功能
-
修改学生成绩功能
-
按平均分排序功能
-
将数据保存到文件
实现一个简单的计算器,支持加减乘除和括号运算
编写一个程序,统计一篇英文文章中每个单词出现的次数
挑战题: 7. 实现一个简单的银行账户管理系统,包含:
-
开户、销户
-
存款、取款、转账
-
查询余额、交易记录
-
利息计算





