函数:
一块具有独立功能的代码块,重复使用,那么往往就需要使用函数,使用函数把这块代码封装成一个整体
语法
def 函数名(形参):
函数代码 (函数要执行的代码)
调用
函数名(实参)
函数的参数根据实际需求可有可无
局部变量:在函数里面定义的变量,它只在定义它的函数中有效,出了这个函数后不可访问。函数的形参属于局部变量。
全局变量:在函数外边定义的变量,在某个函数中可以直接访问,但要对其修改,则要写上global 变量名这条语句进行声明,才能对全局变量进行修改,否则会产生异常。
函数返回值 return可以返回多个数据,通过列表或元祖的形式把数据整合成一个整体,然后返回
在这里编写程序实现学生信息管理系统的添加、更改、显示功能。
代码如下
#用来保存学生的所有信息
stuInfos=[]
#全局变量
newName=""
newSex=""
newPhone=""
#打印功能提示
def printMenu():
print("="*30)
print(" 学生管理系统v1.0")
print("1.添加学生信息")
print("2.删除学生信息")
print("3.修改学生信息")
print("4.查询学生信息")
print("5.显示所有学生信息")
print("0.退出系统")
print("="*30)
#获取一个学生的信息
def getInfo():
global newName
global newSex
global newPhone
#这三个是全局变量,要对其进行修改,则要先声明
newName=input("请输入学生的姓名:")
newSex=input("请输入学生的性别:")
newPhone=input("请输入学生的手机号码:")
#通过列表的形式把数据整合成一个整体,然后返回
return [newName,newSex,newPhone]
#添加学生信息
def addStuInfo():
result=getInfo()
newInfo={}
newInfo['name']=result[0]
newInfo['sex']=result[1]
newInfo['phone']=result[2]
stuInfos.append(newInfo)
#修改一个学生的信息
def modifyStuInfo():
stuId=int(input("请输入要修改的学生的序号:"))
getInfo()
#先获得要修改的学生在stuInfos中的位置,即stuId-1,当前位置是以字典形式存的,再找字典中要修改的值对应的键,即姓名···
stuInfos[stuId-1]['name']=newName
stuInfos[stuId-1]['sex']=newSex
stuInfos[stuId-1]['phone']=newPhone
def main():
while True:
#打印提示信息
printMenu()
key=input("请输入你要选择的操作:")
if key=='1':
#添加学生信息
addStuInfo()
elif key=='3':
#修改学生信息
modifyStuInfo()
elif key=='5':
print("="*30)
print("学生的信息如下:")
print("序号 姓名 性别 手机号码")
i=1
for tempInfo in stuInfos:
print("%d %s %s %s"%(i,tempInfo['name'],tempInfo['sex'],tempInfo['phone']))
i+=1
#调用主函数
main()