今天跟大家唠唠我最近捣鼓的“猛龙队”项目,说起来这名字,纯粹是因为我喜欢NBA,尤其喜欢以前猛龙有卡哇伊那会儿,所以干脆拿来当个代号,大家别想太多哈。
我寻思着做一个简单的球员数据管理系统,就那种能录入球员姓名、号码、位置、得分啥的。先用Excel搞了个表格,手动输入了几十个球员的数据,真是个体力活!填完之后,我就琢磨,这玩意儿肯定得用代码实现,不然以后数据多了不得累死?
得了,开干!我选了Python,因为我Python还算熟悉,而且库也多,用起来方便。先搭了个架子,把球员的基本信息定义成类,然后搞了个列表来存放所有的球员对象。
python
class Player:
def __init__(self, name, number, position, points):
* = name
* = number
* = position
* = points
players = []
我就开始写添加球员的函数。这个简单,就是创建一个`Player`对象,然后把它添加到`players`列表里。
python
def add_player(name, number, position, points):
player = Player(name, number, position, points)
*(player)
为了能看到效果,我又写了个打印球员信息的函数。
python
def print_players():
for player in players:
print(f"Name: {*}, Number: {*}, Position: {*}, Points: {*}")
跑了一下,还真能添加和显示球员信息了。但是,问题来了,这数据都存在内存里,程序一关,啥都没了。这可不行,得想办法把数据保存到文件里。
我选择了CSV文件,因为简单易用。用`csv`库来读写CSV文件,先把`players`列表里的数据写入到CSV文件里。
python
import csv
def save_players_to_csv(filename):
with open(filename, 'w', newline='') as csvfile:
writer = *(csvfile)
*(['Name', 'Number', 'Position', 'Points']) # 写入表头
for player in players:
*([*, *, *, *])
然后,写个函数从CSV文件里读取数据,并创建`Player`对象,添加到`players`列表里。
python
def load_players_from_csv(filename):
*() # 清空现有数据
with open(filename, 'r') as csvfile:
reader = *(csvfile)
next(reader) # 跳过表头
for row in reader:
name, number, position, points = row
add_player(name, number, position, int(points)) # 注意points要转换成整数
这下,数据就能保存和加载了。每次运行程序,都会先从CSV文件里加载数据,程序关闭前,再把数据保存到CSV文件里。
后来我又加了删除球员、修改球员信息的功能,还搞了个简单的菜单,用命令行来操作。
- 添加球员
- 删除球员
- 修改球员信息
- 显示所有球员
- 保存数据
- 加载数据
- 退出
就这么着,一个简单的球员数据管理系统就完成了。虽然简陋,但是能用,而且是我自己一步一步做出来的,感觉特别有成就感。
1. 明确需求:先想清楚要做什么,再动手。
2. 逐步实现:不要想着一步到位,先实现基本功能,再慢慢完善。
3. 善用工具:Python有很多强大的库,要学会利用它们。
4. 多查资料:遇到问题不要怕,上网搜,看文档,总能找到解决方法。
这回的“猛龙队”项目,让我对Python有了更深的理解,也让我体会到了编程的乐趣。以后有机会,我还想把它做得更完善,比如加个GUI界面,或者连接到数据库。
还没有评论,来说两句吧...