python进阶之路第六话之80行代码实现一个学生信息管理系统
简洁强悍,毋庸置疑
很多人说完成同一个任务,C语言要写1000行代码,Java只需要写100行,而 Python可能只要20行。个人感觉虽然没那么夸张,但这也恰恰比较明显的说明python的简洁了,它之所以那么简洁正是因为它有着大量的代码模块库,代码模块库数量越多则说明它封装的方法比较多,很多功能算法用到了直接调用一下就行了,不用自己再苦苦敲了,会大大提升开发者的开发速度。迄今为止python的代码模块库数量已经达到28000多个了,当仁不让地排在第一位,java大概有21000多个,C++9600左右。
当然,有利就有弊,不能只说人家的优点不是,咱又不是做广告的,编程语言只是一个工具而已,咱们用过了就可以用自己的亲身体会评价一下各种语言的优缺点。我认为代码模块用多了可能会限制你的编码思维,影响你的编码能力的提升,很多底层算法如果你理解了会让你的编码效率和代码性能提高很多,所以,建议还没入门编程的同学可以先学学底层的C语言(如果你入门是python可能其他语言你就不想学了,因为,它简洁啊,不好意思,懒人看法),搞搞算法,学有余力的朋友有时间多看看算法类的书籍(这也是我的短板,我也需要看,捂脸。。。)其实在当今这个快速发展的时代,我觉得这也没什么不好。就像瓦特发明蒸汽机一样,说明懒能促进科学进步嘛,未来的科学的发展也必将是懒所促进的。
本次只是写了一个简单的小系统,并没有牵扯到数据库的内容,后期如果有时间的话会考虑做一个。记得以前用C++实现一个类似的功能的系统,敲了一千二百多行代码,亲身对比一下你就知道python的强大,毋庸置疑。下面请看代码,其实没啥复杂的,也没必要写注释,懂一点基础的同学都能看懂,无非就是增删改查那些事儿,话不多说,上代码:
str_welcome = """****************************************
欢迎使用【学生信息管理系统】
请选择你的操作:
1.新建学生信息
2.显示全部信息
3.查询学生信息
4.删除学生信息
5.修改学生信息
0.退出系统
*************************************************"""
students = [
{'name':'张三丰','math':60,'chinese':60,'english':62,'total':182},
{'name':'张无忌','math':60,'chinese':66,'english':62,'total':188},
{'name':'张一山','math':60,'chinese':66,'english':62,'total':188},
] #在原始数据上加个样板,方便看效果调整间距,如果调好了也可以不加
while 1:
print(str_welcome)
action = input("请输入你选择的操作:")
if action == '1':
name = input('请输入学生姓名:')
math = int(input('请输入数学成绩:'))
chinese = int(input('请输入语文成绩:'))
english= int(input('请输入英语成绩:'))
total= math + chinese + english
stu = {
'name': name, 'math':math, 'chinese': chinese, 'english': english, 'total': total
}
students.append(stu)
print("新建学生信息")
elif action =='2':
print('姓名\t\t\t数学\t\t语文\t\t英语\t\t总分')
for student in students:
print(f"{student['name']}\t\t{student['math']}\t\t{student['chinese']}\t\t{student['english']}\t\t{student['total']}")
print("显示全部信息")
elif action =='3':
name = input('请输入学生姓名:')
for student in students:
if name == student['name']:
print(
f"{student['name']}\t\t{student['math']}\t\t{student['chinese']}\t\t{student['english']}\t\t{student['total']}")
break
else:
print(f'{name}:学员不存在!')
print("查询学生信息")
elif action == '4':
name = input('请输入学生姓名:')
for student in students:
if name == student['name']:
students.remove(student)
break
else:
print(f'{name}:学员不存在!')
print("删除学生信息")
elif action == '5':
name = input('请输入学生姓名:')
for student in students:
if name == student['name']:
#print("输入为空则不修改")
name = input('请输入需要修改的学生姓名:')
if name:
student['name'] = name
math = int(input('请输入数学成绩:'))
if math:
student['math'] = math
chinese = int(input('请输入语文成绩:'))
if chinese:
student['chinese'] = chinese
english = int(input('请输入英语成绩:'))
if english:
student['english'] = english
student['total'] =int(student['math']) + int(student['chinese']) + int(student['english'])
break
else:
print(f'{name}:学员不存在!')
print("修改学生信息")
elif action == '0':
print("退出系统")
break
else:
print("输入有误,请选择正确操作!")
运行效果如图:
1.新建学生信息:
2.显示全部信息:
3.查询学生信息:
4.删除学生信息:
5.修改学生信息:
6.退出系统:
结语
打打气吧:
你敲代码时,阿拉斯加的鳕鱼正跃出水面;你调bug时,太平洋彼岸的海鸥振翅掠过城市上空;你为实现一个难以实现的功能苦苦思索时,白令海峡的夜空散漫了五彩斑斓。但是少年你别着急,在你为未来踏踏实实地努力时,那些你感觉从来不会看到的景色,那些你觉得终身不会遇到的人,正一步步向你走来。
继续坚持,加油啊!
上一篇: python面向对象的学生信息管理系统
下一篇: WPF 面向对象 实现简单图书管理系统