python笔记

将编写好的程序编译成可执行文件

  1. 安装第三方工具(在线安装)pip install PyInstaller命令安装(如果pip找不到,就去你的python的安装目录的Scripts目录下找到pip的执行文件在文件目录栏中cmd进入即可)
  2. 将程序打包成exe的可执行文件:

pyinstaller -F 程序的目录地址(E:\baiduwanpan\python\chapter06\com.kusen\main.py)

 

带生成的程序路径

  

可执行文件的路径

学习python练习程序 (学生管理系统)


import os

file_name = "student.txt"


def show():
    # 读取文件中的数据
    with open(file_name, 'r', encoding="utf-8") as fileName:
        list = fileName.readlines()
        if list:
            print('id\t\t\t姓名\t\t\t年龄\t\t\t性别\t\t\t成绩')
            for item in list:
                d = dict(eval(item))
                print(
                    d['stuid'] + '\t\t\t' + d['stuname'] + '\t\t\t' + d['stuage'] + '\t\t\t' + d['stusex'] + '\t\t\t' +
                    d['stucour'], )
        else:
            print("没有学生数据")


def update():
    if os.path.exists(file_name):
        with open(file_name, 'r', encoding='utf-8') as rfile:
            stu_old = rfile.readlines()
    else:
        print("文件不存在")
        return
    stuid = input("请输入要修改的学员id:")
    with open(file_name, 'w', encoding='utf-8') as wfile:
        for item in stu_old:
            d = dict(eval(item))
            if d["stuid"] == stuid:
                print("找了要修改的学生~~~~~")
                d['stuname'] = input('请输入学生姓名:')
                d['stuage'] = input('请输入学生年龄:')
                d['stusex'] = input('请输入学生性别:')
                d['stucour'] = input('请输入学生成绩:')
                wfile.write(str(d) + "\n")
            else:
                wfile.write(str(d) + "\n")
    result = input("是否还要修改学生数据(y/n):")
    if result == 'y':
        update()


def delstu():
    while True:
        stuid = input("请输入学生的id:")
        if stuid != '':
            # 对文件判断
            if os.path.exists(file_name):
                with open(file_name, 'r', encoding='utf-8') as file:
                    stu_list = file.readlines()
            else:
                stu_list = []
            flag = False  # 标记是否删除
            if stu_list:
                with open(file_name, 'w', encoding='utf-8') as wfile:
                    d = {}
                    for item in stu_list:
                        d = dict(eval(item))  # 将字符串的数据转成字典类型的数据
                        print(d['stuid'] != stuid)
                        if d['stuid'] != stuid:
                            wfile.write(str(d) + '\n')
                        else:
                            flag = True
                if flag:
                    print(f'学生id为{stuid}的学生信息已被删除')
                else:
                    print("没有找到该学生的信息!")
                    continue
            else:
                print("无学生数据")
                break
        show()
        delf = input("是否继续删除学生信息(y/n):")
        if delf == 'y':
            continue
        else:
            break


def search():
    if os.path.exists(file_name):
        id = ""
        name = ""
        stu_list = []
        flag = int(input("请选择查询方式:1:id查询、2:姓名查询"))
        if flag == 1:
            id = input("请输入学生的id:")
        elif flag == 2:
            name = input("请输入学生姓名:")
        else:
            print("输入有误,请重新输入~~~")
            search()
        with open(file_name, 'r', encoding='utf-8') as rfile:
            list = rfile.readlines()
        if id != "":
            for item in list:
                d = dict(eval(item))
                if d["stuid"] == id:
                    stu_list.append(d)
        if name != "":
            for item in list:
                d = dict(eval(item))
                if d["stuname"] == name:
                    stu_list.append(d)
        searchStu(stu_list)
    else:
        print("文件不存在")
        return


def searchStu(list):
    if len(list) == 0:
        print("没有查询到学生数据")
    else:
        print('id\t\t\t姓名\t\t\t年龄\t\t\t性别\t\t\t成绩')
        for d in list:
            print(
                d['stuid'] + '\t\t\t' + d['stuname'] + '\t\t\t' + d['stuage'] + '\t\t\t' + d['stusex'] + '\t\t\t' + d[
                    'stucour'], )
    flag = input("是否继续查询学生(y/n):")
    if flag == 'y':
        search()
    else:
        print("退出查询学生信息")


def sort():
    while True:
        show()
        rel = input("请输入排序方式:1:成绩排序 2:id排序")
        acd_desc = input("请输入排序方式:1:升序 2:降序")
        asc_desc_bool = False
        if acd_desc == '1':
            asc_desc_bool = True
        with open(file_name, 'r', encoding='utf-8') as rfile:
            source = rfile.readlines()
            stu_list=[]
            for item in source:
                stu_list.append(dict(eval(item)))
            if rel == '1':
                stu_list.sort(key=lambda x: int(x['stucour']), reverse=asc_desc_bool)
            else:
                stu_list.sort(key=lambda x: int(x["stuid"]), reverse=asc_desc_bool)
                print('id\t\t\t姓名\t\t\t年龄\t\t\t性别\t\t\t成绩')
            for d in stu_list:
                print(
                    d['stuid'] + '\t\t\t' + d['stuname'] + '\t\t\t' + d['stuage'] + '\t\t\t' + d['stusex'] + '\t\t\t' +
                    d['stucour'], )

        flag = input("还要继续排序嘛(y/n)?")
        if flag == 'y':
            continue
        else:
            print("排序结束")
            break


def save():
    student_list = []
    while True:
        stuid = input("请输入学生id:")
        stuname = input("请输入学生姓名:")
        stuage = input("请输入学生年龄:")
        stusex = input("请输入学生性别")
        try:
            stucour = input("请输入学生成绩:")
        except:
            print("输入有误!!")
            continue
        else:
            student = {"stuid": stuid, "stuname": stuname, "stuage": stuage, "stusex": stusex, "stucour": stucour}
            student_list.append(student)
            flag = input("是否继续录入学生信息(y/n):")
            if flag == 'y':
                continue
            else:
                break
    # 将数据保存到文件中
    saveFile(student_list)
    print("学生信息录入完毕!")


def saveFile(list):
    try:
        # 打开文件,以追加的方式来完成,文件存在的情况下
        txt = open(file_name, 'a', encoding='utf-8')
        pass
    except:
        # 打开文件,以写入的方式打开,文件不存在的情况下
        txt = open(file_name, 'w', encoding='utf-8')
    for itme in list:
        txt.write(str(itme) + '\n')
    txt.close()  # 关闭文件


def count():
    # 统计学生人数
    if os.path.exists(file_name):
        with open(file_name, 'r', encoding='utf-8') as rfile:
            rel = rfile.readlines()
            print('一共有' + str(len(rel)) + "名学生")
    else:
        print("文件不存在")
        return


if __name__ == '__main__':
    while True:
        print("-----------使用学生管理系统-----------")
        print("\t\t\t\t\t1.添加学生")
        print("\t\t\t\t\t2.查询学生")
        print("\t\t\t\t\t3.修改学生")
        print("\t\t\t\t\t4.删除学生")
        print("\t\t\t\t\t5.排序")
        print("\t\t\t\t\t6.统计人数")
        print("\t\t\t\t\t7.展示学生")
        print("\t\t\t\t\t8.退出")
        print("-----------------------------------")
        resunt = int(input("请选择:"))
        if resunt == 1:
            save()
        elif resunt == 2:
            search()
        elif resunt == 3:
            update()
        elif resunt == 4:
            delstu()
        elif resunt == 5:
            sort()
        elif resunt == 6:
            count()
        elif resunt == 7:
            show()
        elif resunt == 8:
            str = input("请确认退出(y/n):")
            if (str == 'y' or str == 'Y'):
                print("感谢你的使用!!")
                break
            else:
                continue

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python笔记.md 是一个用于记录Python编程相关内容的markdown文档。 在Python学习过程中,学习者通常会遇到各种问题和疑惑,需要有一个地方来记录学习笔记和重要概念,以方便日后复习和查阅。Python笔记.md 就是一个很好的选择。 Python笔记.md 可以按照自己的需要来组织内容,比如可以分为不同的章节或主题,并使用markdown语法来格式化文档,使其更加清晰易读。 在Python笔记.md中,可以记录Python的基础语法、常用数据结构、函数、类、模块等内容。此外,还可以记录一些常见的错误和解决方法,以便日后遇到类似问题时能够快速找到解决方案。 Python笔记.md 还可以用来记录自己的思考和理解。在学习过程中,我们常常会思考某个概念或代码背后的原理,这时候可以将自己的思考记录在笔记中,以便后续复习和回顾。 使用Python笔记.md 还可以方便与他人分享学习心得。可以在文档中加入注释或标题,使得文档更加易读和友好。同时,也可以将Python笔记.md 推送到版本控制系统中,与他人共享和共同编辑。 总之,Python笔记.md 是一个非常有用的工具,可以帮助学习者系统地记录、整理和复习Python编程相关的知识和经验。无论是初学者还是有经验的开发者,都可以从中受益,并提高自己的编程技能。 ### 回答2: Python笔记.md是一个使用Markdown语法编写的Python笔记文档。Markdown语法是一种轻量级的标记语言,可以快速地编辑和排版文档。 在Python笔记.md中,可以记录Python程序设计的相关知识、概念和技巧。通过使用Markdown语法,可以方便地插入代码块、链接、图片以及其他强调和排版格式,使得笔记更加直观和易读。 Python笔记.md可以按照不同的章节和主题组织内容,方便快速查找和阅读。在每个章节中,可以记录不同的Python编程概念,如数据类型、控制结构、函数、类等。可以通过示例代码和解释说明来详细解释这些概念的用法和特点。 在笔记中,还可以记录一些Python的常见问题和解决方案,例如常见错误、调试技巧等。这些内容可以帮助初学者更好地理解和掌握Python语言。 此外,Python笔记.md还可以连接到其他的Python资源,如官方文档、教程、在线代码编辑器等。这样可以提供更多的学习和参考资料。 总之,Python笔记.md是一个有条理、易读和方便编辑的Python学习笔记文档,可以帮助人们更好地学习和理解Python编程语言。 ### 回答3: Python笔记md是一种用来记录Python编程语言相关内容的文本文件格式。它使用Markdown语法来快速、简洁地编写和格式化笔记Python笔记md的优点是: 1. 简单易懂:Markdown语法简洁明了,使用起来非常简单,即便没有编程背景的人也能快速上手。 2. 跨平台兼容:无论是在Windows、Mac还是Linux系统中,Python笔记md都可以轻松使用。 3. 可读性强:Python笔记md的文本格式使得代码和说明可以同时显示,方便读者理解和学习。 4. 方便分享和发布:Python笔记md可以导出为HTML或PDF格式,方便分享给其他人或者发布到网络上。 5. 与开发工具兼容:大多数集成开发环境(IDE)和文本编辑器都支持Markdown语法,可以实时预览和编辑笔记。 使用Python笔记md可以帮助程序员记录代码和相关的解释和说明,方便复习和查看。它还可以用于编写技术博客、文档和教育材料等。而且由于其文本格式的特点,Python笔记md也非常适合使用版本控制系统进行版本管理。 总而言之,Python笔记md是一种简单、灵活且易于分享的笔记格式,可以有效提高编程学习和开发的效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值