函数练习题

import random
#1.定义四个函数 分别是两个数的加减乘除功能的函数 要求函数有返回值
def add(num1,num2):
return num1 + num2

def jianFa(num1,num2):
return num1 - num2

def chengFa(num1,num2):
return num1 * num2

def chuFa(num1,num2):
return num1 / num2

#2.定义函数 实现打印直角三角形,每次调用实现不同的行数
def printSan(row):
for i in range(1,row+1):
for j in range(1,i+1):
print("*",end="")
print()

printSan(5)

#3.定义stuList保存学生的姓名
stuList = ["张三","李四","王五","周一","宋二"]

#4.定义遍历列表的函数
def forList():#定义函数
for i in stuList:
print(i,end=",")
print()
forList()#调用函数

#5.定义修改姓名的函数,每次调用可以修改不同的人
def updateName(name,names):#两个形参
for i in range(0,len(stuList)):
if stuList[i] == name:
stuList[i] = names
print(stuList)
updateName('张三','账务')

#6.查找姓名函数,输出找到或者找不到
def findName(name):
while name in stuList:
print("找到了")
break
else:
print("没有找到该人")
findName('李四1')
# 7.抽奖系统函数 输入一个会员 结果中没中奖
'''
def lucy(name,password,vip_num):
user_password = "123456"
count = 0
lucy = random.choice(range(1000, 10000))#生成幸运号码
while name in stuList:#判断姓名是否在列表中
while True:
if password == user_password:#输入的用户密码是否等于预定的密码
if lucy == vip_num:
print("中奖了!!!")
else:
print("对不起,您的没有中奖。本次中奖号码为%d" % lucy)
break#跳出内层循环
else:
print("密码不对!")
count += 1
if count > 3:#大于三次提示
print("对不起,你的密码输入三次错误,请携带您的身份证去银行重新设置密码")
break
else:
password = input("请重新输入:")#重新给密码赋值
break#跳出内层循环
else:#不在则提示信息
print("对不起,您没有抽奖权限")
lucy('王五','123',000000)
'''
# 8.登录系统 每次登录的用户名和密码不一样 输出登录成功或者用户名密码错误
password = ['123456','123467','199502','199503','199604']#预存密码
def login(user_name,user_password):#定义两个形参
if user_name in stuList and user_password in password:
print("登录成功")
else:
print("登录失败")
login('王五','199502')
# 9.查找指定范围的学生函数 比如3-6位置的学生信息
def cut(num1,num2):
print(stuList[num1:num2])
cut(2,5)
# 10.定义根据姓找出学生函数
def findStu(x):#传入姓
for i in stuList:
if i.startswith(x):
print(i)
findStu('王')
# 11.根据姓名删除学生函数 找不到学生输出提示 找到删除提示删除成功!
def delete(x):
for i in reversed(stuList):
if x in stuList:
stuList.remove(x)
print("删除成功")
break
else:
print("没有找到该学生")
delete('周')
# 12.根据一个单字统计有几个同学包含
stuList1 = ["张三","李四","王五","周一","宋二",'也二三']
def findDan(x):
count = 0
# for i in stuList1:
# if x in i:
# count += 1
for i in stuList:
if i.find(x) > 0:
count += 1
return count
print(findDan('一'))

# 13.输入班级号拼接名字函数 如果判断有班级号的学生 把班级号替换?
def connect(x):
for i in range(0,len(stuList)):
stuList[i] = x + stuList[i]
return stuList
print(connect('1808'))
# 14.创建字典key为:学生姓名,value为:成绩 五个学生即可
dict1 = {'包一':40,'包二':60,'包三':55,'包2四':65,'包五':70}
# 以下关于操作字典的函数:
# 15.查看学生姓名和成绩函数
def seek():
for i,j in dict1.items():
print("%s的成绩是%d" %(i,j),end=",")
seek()
print()
# 16.统计成绩平均分函数
def avg():
sum = 0
num = len(stuList)#总计人数
for i in dict1.values():
sum += i
return sum / num

print(avg())

# 17.根据分数范围找出学生函数
def num(score1,score2):
dict2= {}
for i in dict1.keys():
if dict1[i] > score1 and dict1[i] < score2:
dict2.setdefault(i,dict1[i])
return dict2
print(num(30,60))
# 19.指定字数 查看学生姓名和成绩
def wordNum(j):
dict3 = {}
for i in dict1.keys():
if len(i) == j:
dict3.setdefault(i,dict1[i])
return dict3
print(wordNum(3))
# 20.根据姓氏,成绩查看学生姓名和成绩
def xingShi(a):
for i in dict1.keys():
if i.startswith(a):
print(i,dict1[i],end=",")
xingShi('包')
原文地址:https://www.cnblogs.com/guojie-guojie/p/9236987.html