当前位置:首页>python>实验4 Python函数训练

实验4 Python函数训练

  • 2026-09-02 18:52:34
实验4 Python函数训练

一、实验目的

1、掌握函数的概念,使用场景和使用步骤;

2、掌握递归函数的概念,使用场景和使用步骤;

3、掌握常见内置函数的使用场景和使用步骤;

二、实验环境

装有Python运行环境、Pycharm平台的PC电脑一台

三、实验内容

1、编写程序,用于实现十进制转二进制、八进制、十六进制。

2、编写一个程序,实现斐波那契数列。

3、请编写程序,用于生成指定日期的日历。

4、通过导入 datetime 模块来获取昨天的日期。

5、将书中P113页的“名片管理系统”实现出来,并运行查看结果;

"""5、将书中P113页的“名片管理系统”实现出来,并运行查看结果;"""# 1打印功能提示def show_menu():    '''这是显示菜单界面'''    print('=' * 20)    print('---名片管理系统---')    print('1:添加一个新的名片')    print('2:删除一个名片')    print('3:修改一个名片')    print('4:查询一个名片')    print('5:显示所有的名片')    print('6:退出系统')    print('=' * 20)# 用来存储名片card_infors = []while True:    # 2获取用户选择    show_menu()    num = input('请输入操作序号:')    if num.isdigit():        num = int(num)        if num == 1:            new_name = input('请输入名字:')            new_qq = input('请输入QQ:')            new_weixin = input('请输入微信:')            new_addr = input('请输入新的住址:')            # 定义一个新的字典,用来存储一个新的名片            new_infor = {}            new_infor['name'] = new_name            new_infor['qq'] = new_qq            new_infor['weixin'] = new_weixin            new_infor['addr'] = new_addr            # 将一个字典,添加到列表中            card_infors.append(new_infor)            #print(card_infors)  # for test        elif num == 2:            del_name = input("请输入要删除的名字:")            find_flag = False            for line in card_infors:                if line['name'] == del_name:                    find_flag = True                    card_infors.remove(line)                    break            if find_flag:                print("已删除!")            else:                print("输入的用户名不存在")                # print(card_infors)   for test        elif num == 3:            old_name = input('请输入要修改的姓名:')            flag = 0            for line in card_infors:                if line['name'] == old_name:                    new_name = input('姓名:')                    # new_qq = input('年龄:')                    new_weixin = input('微信:')                    new_addr = input('住址:')                    line['name'] = new_name                    line['qq'] = new_qq                    line['weixin'] = new_weixin                    line['addr'] = new_addr                    flag = True                    break            if flag:                print("已修改!")            else:                print('输入的用户不存在!')        elif num == 4:            find_nmae = input("请输入要查找的姓名:")            find_flag = 0  # 默认表示没有找到            for temp in card_infors:                if find_nmae == temp['name']:                    print("姓名\tQQ\t微信\t住址\t")                    print('%s\t%s\t%s\t%s' % (temp['name'], temp['qq'], temp['weixin'], temp['addr']))                    find_flag = 1  # 表示找到了                    break            # 判断是否找到            if find_flag == 0:                print('没有找到')        elif num == 5:            print("姓名\tQQ\t微信\t住址\t")            for temp in card_infors:                print('%s\t%s\t%s\t%s\t' % (temp['name'], temp['qq'], temp['weixin'], temp['addr']))        elif num == 6:            break        else:            print('输入有误!请重新输入')            continue        print('')    else:        print("输入错误,请重新输入!")

6、将书中P130页的“学生管理系统”实现出来,并运行查看结果;

"""5、将书中P113页的“名片管理系统”实现出来,并运行查看结果;"""student_info_lst = []  # 保存所有学生的信息'''[{'name':'zs',.......}, {'name':'ls',.......},]'''def show_menu():    '''这是显示菜单界面'''    print('------------欢迎来到学生管理系统--------------')    print('新增学员请按[1]')    print('显示全部请按[2]')    print('查询学员请按[3]')    print('退出系统请按[0]')def add_student():    '''这是新增学员功能'''    print('-------------这是新增学员功能----------------')    name = input('请输入姓名:')    age = input('请输入年龄:')    gender = input('请输入性别:')    tel = input('请输入手机号码:')    # print(name, age, gender, tel)    # 将用户输入的信息保存到一个字典中    dic = {}    dic['name'] = name    dic['age'] = age    dic['gender'] = gender    dic['tel'] = tel    # print(dic)    # 注意:将用户的信息保存到一个全局变量 student_info_lst 中    # 列表中,让其他功能使用列表中的数据    student_info_lst.append(dic)    # print(lst)def alignment(s, space):    '''动态获取长度'''    s1 = s.encode('gbk')    lenght = len(s1)    space = space - lenght    s = s + space * ' '    return sdef show_all_student():    print('-----------显示所有的学员功能---------------')    if not student_info_lst:        print('还没有学员呢,请添加学员')        return    # 显示学员信息    # print('name\tage\tgender\tel')    # print('name', 16 * ' ', 'age', 17 * ' ', 'gender', 15 * ' ', 'tel')    name = alignment('name', 15)    age = alignment('age', 15)    gender = alignment('gender', 15)    tel = alignment('tel', 15)    print(name, age, gender, tel)    for dic in student_info_lst:        name = dic['name']        age = dic['age']        gender = dic['gender']        tel = dic['tel']        # print('{}\t{}\t{}\t{}'.format(name, age, gender, tel))        # print(name, (20 - len(name)) * ' ', age, (20 - len(name)) * ' ', gender, (20 - len(name)) * ' ', tel)        name = alignment(dic['name'], 15)        age = alignment(dic['age'], 15)        gender = alignment(dic['gender'], 15)        tel = alignment(dic['tel'], 15)        print('{}\t{}\t{}\t{}'.format(name, age, gender, tel))def modify_student(old_value, msg):    new_value = input(msg)    if new_value.strip():        '''msg有内容'''        return new_value    else:        '''msg有内容'''        return old_valuedef deal_student(dic):    '''修改和删除学员信息'''    action_str = input('【1】修改 【2】删除 【0】返回上一级菜单,请选择要执行的操作:')    if action_str == '1':        '''修改学员信息'''        # name = input('请输入姓名:')        # age = input('请输入年龄:')        # gender = input('请输入性别:')        # tel = input('请输入手机号码:')        name = modify_student(dic['name'], '请输入姓名:')        age = modify_student(dic['age'], '请输入年龄:')        gender = modify_student(dic['gender'], '请输入性别:')        tel = modify_student(dic['tel'], '请输入手机号码:')        dic['name'] = name        dic['age'] = age        dic['gender'] = gender        dic['tel'] = tel    elif action_str == '2':        '''删除该学员'''        student_info_lst.remove(dic)        # del student_info_lst[dic]        print('-------------删除成功了--------------')    elif action_str == '0':        '''返回上一级菜单'''        passdef search_student_by_name():    print('--------------欢迎来到查询学员功能----------------')    if student_info_lst:        name = input('请输入要查询的学生的姓名:')        for dic in student_info_lst:  # 获取所有学员            if dic['name'] == name:  # 比较学员姓名                # print('name\tage\tgender\tel')                # print('name', 16 * ' ', 'age', 17 * ' ', 'gender', 15 * ' ', 'tel')                name = alignment('name', 15)                age = alignment('age', 15)                gender = alignment('gender', 15)                tel = alignment('tel', 15)                print(name, age, gender, tel)                name = dic['name']                age = dic['age']                gender = dic['gender']                tel = dic['tel']                # print('{}\t{}\t{}\t{}'.format(dic['name'], dic['age'], dic['gender'], dic['tel']))                # print(name, (20 - len(name)) * ' ', age, (20 - len(name)) * ' ', gender, (20 - len(name)) * ' ', tel)                name = alignment(dic['name'], 15)                age = alignment(dic['age'], 15)                gender = alignment(dic['gender'], 15)                tel = alignment(dic['tel'], 15)                print('{}\t{}\t{}\t{}'.format(name, age, gender, tel))                # 修改学员信息                # 需要将学员的信息传递到函数                deal_student(dic)                break        else:            print('have not this stuent')            # add_student()    else:        print('have not atudent,please add student')        add_student()while True:    show_menu()    action_str = input('请输入您要选的数字:')    lst = ['0', '1', '2', '3']    if action_str in lst:        if action_str == '1':            '''添加新增学员'''            add_student()        elif action_str == '2':            '''显示所有学员信息'''            show_all_student()        elif action_str == '3':            '''查询学员'''            search_student_by_name()        elif action_str == '0':            '''退出系统'''            print('三位慢走,欢迎下次光临')            break    else:        print('---------输错了,请重新输入------------')

7、有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

心得体会

学习了python函数的基本用法

最新文章

随机文章