任务一:计算阶乘
代码:
#计算阶乘
def ff(a):
b=1
for i in range(1,a+1):
b=i*b
return b
#5的阶乘
print("5的阶乘结果为:",ff(5))
#10的阶乘
print("10的阶乘结果为:",ff(10))
运行结果:
5的阶乘结果为: 120
10的阶乘结果为: 3628800
任务二:求1-100各数的因数
任务内容:求1~100各数的因数
程序编写要求:要求使字典保存各数的因数,键为各数,值为各数的因数。
代码:
listkeys=[]
listvalues=[]
def ff(a,b):
for i in range(a,b+1):
listkeys.append(i)
v5 = dict.fromkeys(listkeys, listvalues)
#print(v5)
for i in range(a,b+1):
listv=[]
n=1
while n<=i:
if i%n==0:
listv.append(n)
n=n+1
#print(listv)
v5[i]=listv
print(v5)
ff(1,100)
运行结果:
{1: [1], 2: [1, 2], 3: [1, 3], 4: [1, 2, 4], 5: [1, 5], 6: [1, 2, 3, 6], 7: [1, 7], 8: [1, 2, 4, 8], 9: [1, 3, 9], 10: [1, 2, 5, 10], 11: [1, 11], 12: [1, 2, 3, 4, 6, 12], 13: [1, 13], 14: [1, 2, 7, 14], 15: [1, 3, 5, 15], 16: [1, 2, 4, 8, 16], 17: [1, 17], 18: [1, 2, 3, 6, 9, 18], 19: [1, 19], 20: [1, 2, 4, 5, 10, 20], 21: [1, 3, 7, 21], 22: [1, 2, 11, 22], 23: [1, 23], 24: [1, 2, 3, 4, 6, 8, 12, 24], 25: [1, 5, 25], 26: [1, 2, 13, 26], 27: [1, 3, 9, 27], 28: [1, 2, 4, 7, 14, 28], 29: [1, 29], 30: [1, 2, 3, 5, 6, 10, 15, 30], 31: [1, 31], 32: [1, 2, 4, 8, 16, 32], 33: [1, 3, 11, 33], 34: [1, 2, 17, 34], 35: [1, 5, 7, 35], 36: [1, 2, 3, 4, 6, 9, 12, 18, 36], 37: [1, 37], 38: [1, 2, 19, 38], 39: [1, 3, 13, 39], 40: [1, 2, 4, 5, 8, 10, 20, 40], 41: [1, 41], 42: [1, 2, 3, 6, 7, 14, 21, 42], 43: [1, 43], 44: [1, 2, 4, 11, 22, 44], 45: [1, 3, 5, 9, 15, 45], 46: [1, 2, 23, 46], 47: [1, 47], 48: [1, 2, 3, 4, 6, 8, 12, 16, 24, 48], 49: [1, 7, 49], 50: [1, 2, 5, 10, 25, 50], 51: [1, 3, 17, 51], 52: [1, 2, 4, 13, 26, 52], 53: [1, 53], 54: [1, 2, 3, 6, 9, 18, 27, 54], 55: [1, 5, 11, 55], 56: [1, 2, 4, 7, 8, 14, 28, 56], 57: [1, 3, 19, 57], 58: [1, 2, 29, 58], 59: [1, 59], 60: [1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60], 61: [1, 61], 62: [1, 2, 31, 62], 63: [1, 3, 7, 9, 21, 63], 64: [1, 2, 4, 8, 16, 32, 64], 65: [1, 5, 13, 65], 66: [1, 2, 3, 6, 11, 22, 33, 66], 67: [1, 67], 68: [1, 2, 4, 17, 34, 68], 69: [1, 3, 23, 69], 70: [1, 2, 5, 7, 10, 14, 35, 70], 71: [1, 71], 72: [1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 36, 72], 73: [1, 73], 74: [1, 2, 37, 74], 75: [1, 3, 5, 15, 25, 75], 76: [1, 2, 4, 19, 38, 76], 77: [1, 7, 11, 77], 78: [1, 2, 3, 6, 13, 26, 39, 78], 79: [1, 79], 80: [1, 2, 4, 5, 8, 10, 16, 20, 40, 80], 81: [1, 3, 9, 27, 81], 82: [1, 2, 41, 82], 83: [1, 83], 84: [1, 2, 3, 4, 6, 7, 12, 14, 21, 28, 42, 84], 85: [1, 5, 17, 85], 86: [1, 2, 43, 86], 87: [1, 3, 29, 87], 88: [1, 2, 4, 8, 11, 22, 44, 88], 89: [1, 89], 90: [1, 2, 3, 5, 6, 9, 10, 15, 18, 30, 45, 90], 91: [1, 7, 13, 91], 92: [1, 2, 4, 23, 46, 92], 93: [1, 3, 31, 93], 94: [1, 2, 47, 94], 95: [1, 5, 19, 95], 96: [1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 96], 97: [1, 97], 98: [1, 2, 7, 14, 49, 98], 99: [1, 3, 9, 11, 33, 99], 100: [1, 2, 4, 5, 10, 20, 25, 50, 100]}
任务三:名片管理程序
任务内容:现需制作一个名片管理器程序,能够实现名片的增删改查功能,每张名片主要内容有:姓名、职位、住址。程序若未退出前,则一直循环运行。
程序编写要求:按要求定义8个函数,并实现相应功能,提供的部分代码如下所示:
代码:
import sys
def display_menu(): # 函数1--#打印菜单
print("--------------------------")
print(" 名片管理系统 v1.0")
print("1. 添加名片")
print("2. 删除名片")
print("3. 修改名片")
print("4. 查询名片")
print("5. 获取所有名片信息")
print("6. 退出系统")
def get_choice(): # 函数2--#等待用户选择
print("--------------------------")
global key
key = int(input("请输入选择的序号:"))
def add_info(): #函数3--添加名片
print("--------------------------")
name=input("请输入姓名:")
job= input("请输入职位:")
id = input("请输入住址:")
listvalue=[job,id]
card_dict[name]=listvalue
print("添加成功")
def del_info():#函数4--删除名片
print("--------------------------")
nameinfo=input("请输入要删除的名片姓名:")
del card_dict[nameinfo]
print("删除成功")
def revise_info(): # 函数5--修改名片
print("--------------------------")
nameinfo1 = input("请输入要修改的名片姓名:")
del card_dict[nameinfo1]
name = input("请输入姓名:")
job = input("请输入职位:")
id = input("请输入住址:")
listvalue = [job, id]
card_dict[name] = listvalue
print("修改成功")
def seek_info(): # 函数6--查询名片
print("--------------------------")
nameinfo2 = input("请输入要查询的名片姓名:")
print(card_dict.get(nameinfo2, '查无此人'))
def print_all_info(): # 函数7--获取所有名片信息
print("--------------------------")
print(card_dict.items())
def exit_menu(): # 函数8--退出系统
print("--------------------------")
sys.exit(0)
i =0
card_dict = {} #保存数据
while i<1:
listvalue = []
display_menu() #函数1--#打印菜单
get_choice()#函数2--#等待用户选择
if key==1:
add_info() #函数3--添加名片
elif key==2:
del_info()#函数4--删除名片
elif key == 3:
revise_info() # 函数5--修改名片
elif key == 4:
seek_info() #函数6--查询名片
elif key ==5:
print_all_info()#函数7--获取所有名片信息
elif key == 6:
exit_menu() #函数8--退出系统
else:
print("输入有误,请重新输入...")
运行结果:
--------------------------
名片管理系统 v1.0
1. 添加名片
2. 删除名片
3. 修改名片
4. 查询名片
5. 获取所有名片信息
6. 退出系统
--------------------------
请输入选择的序号:1
--------------------------
请输入姓名:蓝湛
请输入职位:老师
请输入住址:云深不知处
添加成功
--------------------------
名片管理系统 v1.0
1. 添加名片
2. 删除名片
3. 修改名片
4. 查询名片
5. 获取所有名片信息
6. 退出系统
--------------------------
请输入选择的序号:1
--------------------------
请输入姓名:魏婴
请输入职位:学生
请输入住址:莲花坞
添加成功
--------------------------
名片管理系统 v1.0
1. 添加名片
2. 删除名片
3. 修改名片
4. 查询名片
5. 获取所有名片信息
6. 退出系统
--------------------------
请输入选择的序号:1
--------------------------
请输入姓名:江澄
请输入职位:学生
请输入住址:莲花坞
添加成功
--------------------------
名片管理系统 v1.0
1. 添加名片
2. 删除名片
3. 修改名片
4. 查询名片
5. 获取所有名片信息
6. 退出系统
--------------------------
请输入选择的序号:5
--------------------------
dict_items([('蓝湛', ['老师', '云深不知处']), ('魏婴', ['学生', '莲花坞']), ('江澄', ['学生', '莲花坞'])])
--------------------------
名片管理系统 v1.0
1. 添加名片
2. 删除名片
3. 修改名片
4. 查询名片
5. 获取所有名片信息
6. 退出系统
--------------------------
请输入选择的序号:3
--------------------------
请输入要修改的名片姓名:蓝湛
请输入姓名:蓝湛,字忘机
请输入职位:老师
请输入住址:云深不知处
修改成功
--------------------------
名片管理系统 v1.0
1. 添加名片
2. 删除名片
3. 修改名片
4. 查询名片
5. 获取所有名片信息
6. 退出系统
--------------------------
请输入选择的序号:3
--------------------------
请输入要修改的名片姓名:魏婴
请输入姓名:魏婴,字无羡
请输入职位:学生
请输入住址:云深不知处
修改成功
--------------------------
名片管理系统 v1.0
1. 添加名片
2. 删除名片
3. 修改名片
4. 查询名片
5. 获取所有名片信息
6. 退出系统
--------------------------
请输入选择的序号:2
--------------------------
请输入要删除的名片姓名:江澄
删除成功
--------------------------
名片管理系统 v1.0
1. 添加名片
2. 删除名片
3. 修改名片
4. 查询名片
5. 获取所有名片信息
6. 退出系统
--------------------------
请输入选择的序号:5
--------------------------
dict_items([('蓝湛,字忘机', ['老师', '云深不知处']), ('魏婴,字无羡', ['学生', '云深不知处'])])
--------------------------
名片管理系统 v1.0
1. 添加名片
2. 删除名片
3. 修改名片
4. 查询名片
5. 获取所有名片信息
6. 退出系统
--------------------------
请输入选择的序号:4
--------------------------
请输入要查询的名片姓名:江澄
查无此人
--------------------------
名片管理系统 v1.0
1. 添加名片
2. 删除名片
3. 修改名片
4. 查询名片
5. 获取所有名片信息
6. 退出系统
--------------------------
请输入选择的序号:7
输入有误,请重新输入...
--------------------------
名片管理系统 v1.0
1. 添加名片
2. 删除名片
3. 修改名片
4. 查询名片
5. 获取所有名片信息
6. 退出系统
--------------------------
请输入选择的序号:6
--------------------------