【语法】
def 函数名(参数) :
代码块
def
。def
后面紧跟空格。def
语句后面不能忘记英文冒号:
。:
必有4个空格的缩进。【语法】
函数名(参数)
【温馨提示】
调用函数的语法非常简单,函数名加参数即可。
【任务目标】
某学校的学生管理系统菜单如下:
学生信息管理系统
====功能菜单====
1.录入学生信息
2.查找学生信息
3.删除学生信息
4.修改学生信息
5.退出系统
编写代码完成以下任务:
输入1,输出1.录入学生信息
输入2,输出2.查找学生信息
输入3,输出3.删除学生信息
输入4,输出4.修改学生信息
输入5,输出5.退出系统
输入其他字符,输出输入错误,请重新输入!
【示例】
输入
1
输出
1.录入学生信息
【代码拆分】
1.先写代码块,即函数要实现的功能
s = int(input()) # 从终端输入一个字符,并赋值给变量s,用int将字符串转换成整数
if s == 1: # 当输入为1时,执行以下语句
print('1.录入学生信息')
elif s == 2: # 当输入为2时,执行以下语句
print('2.查找学生信息')
elif s == 3: # 当输入为3时,执行以下语句
print('3.删除学生信息')
elif s == 4: # 当输入为4时,执行以下语句
print('4.修改学生信息')
elif s == 5: # 当输入为5时,执行以下语句
print('5.退出系统')
else: # 当输入为其他字符时,执行以下语句
print("输入错误,请重新输入!")
【输出终端】
ValueError: invalid literal for int() with base 10: 's'
【代码测试】
在终端输入3,程序返回的是3.删除学生信息
。
在终端输入7,程序返回的是输入错误,请重新输入!
。
在终端输入的是字符d
,程序报错!因为字符d
是无法用int函数转换成整数的。
2.写自定义函数语句
def menu(s): # 自定义一个menu函数
def
是自定义语句关键字menu
menu[ˈmenjuː]:菜单。
s
3.写函数调用语句
menu(1) # 调用函数,传入数字1
menu(2) # 调用函数,传入数字2
menu(3) # 调用函数,传入数字3
menu(4) # 调用函数,传入数字4
menu(5) # 调用函数,传入数字5
menu("d") # 调用函数,传入字符d
6个menu表示调用了函数6次。
4.综合代码
def menu(s): # 自定义一个menu函数
if s == 1: # 当输入为1时,执行以下语句
print('1.录入学生信息')
elif s == 2: # 当输入为2时,执行以下语句
print('2.查找学生信息')
elif s == 3: # 当输入为3时,执行以下语句
print('3.删除学生信息')
elif s == 4: # 当输入为4时,执行以下语句
print('4.修改学生信息')
elif s == 5: # 当输入为5时,执行以下语句
print('5.退出系统')
else: # 当输入为其他字符时,执行以下语句
print("输入错误,请重新输入!")
menu(1) # 调用函数,传入数字1
menu(2) # 调用函数,传入数字2
menu(3) # 调用函数,传入数字3
menu(4) # 调用函数,传入数字4
menu(5) # 调用函数,传入数字5
menu("d") # 调用函数,传入字符d
【终端输出】
1.录入学生信息
2.查找学生信息
3.删除学生信息
4.修改学生信息
5.退出系统
输入错误,请重新输入!
【代码解析】
menu("d")
当我们调用函数时传入的参数是字符d
,程序返回的是输入错误,请重新输入!
。
字符d
在这里是属于其他字符,它不像上面的代码需要转换成整数,因此程序没有报错。
括号中的数就是传入自定义函数的参数。这里的1 2 3 4 5 d
都是实参。
def menu(s):
中的s
是形参。
这里的参数是按照位置传递的。
自定义函数的参数可以在调用的时候直接传递,因此这里就不用input函数从终端取值。
自定义函数中的menu('1')
这句代码的功能与s = int(input())
从终端输入1的功能是一样的。
menu(1)
传入的参数是整数1
,终端返回的结果是1.录入学生信息
全部0条评论
快来发表一下你的评论吧 !