python小代码11(函数的定义和调用)

任务一:计算阶乘

代码:

#计算阶乘
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
--------------------------

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值