返回顶部
首页 > 资讯 > 后端开发 > Python >python3.5程序设计
  • 211
分享到

python3.5程序设计

程序设计 2023-01-30 22:01:16 211人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

python语言的特点有:易于学习:语法和结构简单,学习起来更加简单。易于阅读:Python代码定义更清晰。易于维护:源代码是相当容易维护的。广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,windows和Ma

python语言的特点有:
易于学习:语法和结构简单,学习起来更加简单。
易于阅读:Python代码定义更清晰。
易于维护:源代码是相当容易维护的。
广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,windowsMacintosh兼容很好。
可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
可嵌入: 可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

 

Python语法结构特点:
Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。
Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

读取带有表头的文件,转化为字典形式

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# Author:Du Fei

index =0
myKey=[]
allList=[]
with open("person.txt","r") as f:
    for one in f:
        oneDict={}
        if index == 0:#当前读取的数据是第一条
            myKey =one.strip("\n").split(",")
            index = 1
        else:
            oneList=one.strip("\n").split(",")
            oneDict[myKey[0]]=oneList[0]
            oneDict[myKey[1]]=int(oneList[1])
            oneDict[myKey[2]]=float(oneList[2])
            allList.append(oneDict)
print(allList)
dictAndFile.py

Python实战

python简单实现学生管理系统

项目要求:

 (1)显示所有学生信息

 (2)新增一个学生信息

 (3)修改学生的年龄

 (4)根据学号删除学生

 (5)按照姓名查找

 (6)按照学号进行升序和降序排列

 (7)功能菜单:该功能菜单供用户选择相应功能,调用上述不同功能模块

 (8)数据从文件中读取

 (9)将数据保存到文件中

一、使用python函数模块实现

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# Author:Du Fei
import os

#学号,姓名,年龄,性别,身高
allStudentsList=[]
#从文件中读取数据
def readFromFile(fileName):
    if not os.path.exists(fileName):# 如果文件不存在,则新增一个空文件
        f = open(fileName,"w")
        f.close()
    with open(fileName,"r",encoding="utf-8") as f:
        for onStr in f:
            oneList=onStr.strip("\n").split(",")
            oneList[0]=int(oneList[0])#学号
            oneList[1]=oneList[1]#姓名
            oneList[2]=int(oneList[2])#年龄
            oneList[3]=oneList[3]#性别
            oneList[4]=float(oneList[4])#身高
            allStudentsList.append(oneList)

#将数据写入文件
def writeToFile(fileName):
    f =open(fileName,"w")
    f.close()

    with open(fileName,"a",encoding="utf-8") as f:
        for oneList in allStudentsList:
            oneStr=str(str(oneList[0])+","+oneList[1]+","+str(oneList[2])+","+oneList[3]+","+str(oneList[4])+"\n")
            f.write(oneStr)

#显示所有学生信息
def allStudentsshow():
    for one in allStudentsList:
        print("学号:%d,姓名:%s,年龄:%d,性别:%s,身高:%f" % (one[0], one[1], one[2], one[3],one[4]))

#新增学生
def addNewStudent(newStuList):
    #check学号是否重复复
    for one in allStudentsList:
        if one[0] == newStuList[0]:
            return -1 #学号重复
        allStudentsList.append(newStuList)
        writeToFile("student.txt")
        return 1

#修改学生年龄
def updateStudentsAge(id,newAge):
    for one in allStudentsList:
        if one[0]==id:
            one[2]=newAge
            break
    else:
        return -1#找不到此学号
    writeToFile("student.txt")
    return 1

#删除学生
def deleteStudent(id):
    index =0
    for one in allStudentsList:
        if one[0] ==id:
            del allStudentsList[index]
            break
        index +=1
    else:
        return -1#找不到要删除的学号
    writeToFile("student.txt")
    return 1

#按照姓名查找
def searchStudents(name):
    flag =0
    for one in allStudentsList:
        if one[1]==name:
            print("学号:%d,姓名:%s,年龄:%d,性别:%s,身高:%f" % (one[0], one[1], one[2], one[3], one[4]))
            flag=1
    if flag==0:
        return -1#查无此人
    return 1


def sortMe(oneList):
    return oneList[0]

#按序号排序
def orderById(flag):#flag:1升序,2降序
    if flag==1:#升序
        allStudentsList.sort(reverse=False,key=lambda oneList:oneList[0])
    else:
        allStudentsList.sort(reverse=True,key=sortMe)

#功能菜单
def menuShow():
    print("**********************************")
    print("*1.查看所有学生信息****************")
    print("*2.新增学生************************")
    print("*3.修改学生************************")
    print("*4.删除学生************************")
    print("*5.按姓名查找**********************")
    print("*6.按学号排序**********************")
    print("*7.保存***************************")
    print("*8.退出***************************")
    print("**********************************")


if __name__ == "__main__":
    #从文件中读取数据
    readFromFile("student.txt")
    # print(allStudentsList)
    while True:
        # 显示主菜单
        menuShow()
        select =int(input("请选择功能选项:"))
        if select == 1:
            allStudentsShow()
        elif select == 2:
            while True:
                try:
                    id = int(input("请输入学号:"))
                    name = input("请输入姓名:")
                    age = int(input("请输入年龄:"))
                    sex = input("请输入性别:")
                    height = float(input("请输入身高:"))

                    newStuList=[id,name,age,sex,height]
                    if addNewStudent(newStuList) ==-1:
                        print("学号已存在,请重新输入")
                    else:
                        flag=input("新增用户成功,是否继续新增(y/n)?:")
                        if flag.lower() !="y":
                            break
                except:
                    print("输入有误请重新输入")

        elif select == 3:
            while True:
                id=int(input("请输入序号:"))
                newAge=int(input("请输入新的年龄:"))
                if updateStudentsAge(id,newAge) ==-1:
                    print("找不到此学号的学生,请重新输入")
                else:
                    flag = input("修改成功,是否继续修改(y/n)?:")
                    if flag.lower() != "y":
                        break

        elif select == 4:
            while True:
                id =int(input("请输入删除的学号:"))
                if deleteStudent(id) == -1:
                    print("找不到此学号的学生,请重新输入")
                else:
                    flag = input("删除成功,是否继续删除(y/n)?:")
                    if flag.lower() != "y":
                        break
        elif select == 5:
            while True:
                name=input("请输入查找的姓名:")
                if searchStudents(name) ==-1:
                    print("查无此人")

                flag = input("是否继续查找(y/n)?:")
                if flag.lower() != "y":
                    break

        elif select == 6:
            flag=int(input("请选择排序方式(1:升序,2:降序)"))
            orderById(flag)
            allStudentsShow()
        elif select == 7:
            writeToFile("student.txt")
        else:
            exit()
student.py

二、使用python类模块实现

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# Author:Du Fei
import os
#生成学生类
class Student:
    def __init__(self,id,name,age,sex,height):
        self.id =id
        self.name=name
        self.age=age
        self.sex =sex
        self.height=height

    def printMe(self):
        print("学号:%d,姓名:%s,年龄:%d,性别:%s,身高:%f" % (self.id, self.name, self.age, self.sex, self.height))


#管理类
class StudentsManage:
    def __init__(self):
        self.allStudentsList =[]

    #显示所有学生的信息
    def allStudentsShow(self):
        for one in self.allStudentsList:
            one.printMe()
    #新增学生
    def addNewStudent(self,newStuList):
        # check学号是否重复复
        for one in self.allStudentsList:
            if one.id == newStuList.id:
                return -1 #学号重复
        self.allStudentsList.append(newStuList)
        return 1

    # 修改学生年龄
    def updateStudentsAge(self,id, newAge):
        for one in self.allStudentsList:
            if one.id == id:
                one.age = newAge
                break
        else:
            return -1  # 找不到此学号
        return 1

    #删除学生
    def deleteStudent(self,id):
        index =0
        for one in self.allStudentsList:
            if one.id ==id:
                del self.allStudentsList[index]
                break
            index +=1
        else:
            return -1#找不到要删除的学号
        return 1

    #按照姓名查找
    def searchStudents(self,name):
        flag =0
        for one in self.allStudentsList:
            if one.name==name:
                one.printMe()
                flag=1
        if flag==0:
            return -1#查无此人
        return 1

    # 按序号排序
    def orderById(self,flag):  # flag:1升序,2降序
        if flag == 1:  # 升序
            self.allStudentsList.sort(reverse=False, key=lambda x: x.id)
        else:
            self.allStudentsList.sort(reverse=True, key=lambda x: x.id)

    # 从文件中读取数据
    def readFromFile(self,fileName):
        if not os.path.exists(fileName):  # 如果文件不存在,则新增一个空文件
            f = open(fileName, "w")
            f.close()
        with open(fileName, "r", encoding="utf-8") as f:
            for onStr in f:
                oneList = onStr.strip("\n").split(",")
                oneList[0] = int(oneList[0])  # 学号
                oneList[1] = oneList[1]  # 姓名
                oneList[2] = int(oneList[2])  # 年龄
                oneList[3] = oneList[3]  # 性别
                oneList[4] = float(oneList[4])  # 身高
                stu = Student(int(oneList[0]),oneList[1],int(oneList[2]),oneList[3],float(oneList[4]))
                self.allStudentsList.append(stu)

    # 将数据写入文件
    def writeToFile(self,fileName):
        f = open(fileName, "w")
        f.close()

        with open(fileName, "a", encoding="utf-8") as f:
            for one in self.allStudentsList:
                oneStr = str(one.id) + "," + one.name + "," + str(one.age) + "," + one.sex + "," + str(one.height) + "\n"
                f.write(oneStr)

# 功能菜单
def menuShow():
    print("**********************************")
    print("*1.查看所有学生信息****************")
    print("*2.新增学生************************")
    print("*3.修改学生************************")
    print("*4.删除学生************************")
    print("*5.按姓名查找**********************")
    print("*6.按学号排序**********************")
    print("*7.保存***************************")
    print("*8.退出***************************")
    print("**********************************")


if __name__ == "__main__":
    stManage=StudentsManage()
    #从文件中读取数据
    stManage.readFromFile("student.txt")
    # print(allStudentsList)
    while True:
        # 显示主菜单
        menuShow()
        select =int(input("请选择功能选项:"))
        if select == 1:
            stManage.allStudentsShow()
        elif select == 2:
            while True:
                try:
                    id = int(input("请输入学号:"))
                    name = input("请输入姓名:")
                    age = int(input("请输入年龄:"))
                    sex = input("请输入性别:")
                    height = float(input("请输入身高:"))
                    stu = Student(id,name,age,sex,height)
                    if stManage.addNewStudent(stu) ==-1:
                        print("学号已存在,请重新输入")
                    else:
                        flag=input("新增用户成功,是否继续新增(y/n)?:")
                        if flag.lower() !="y":
                            break
                except:
                    print("输入有误请重新输入")

        elif select == 3:
            while True:
                id=int(input("请输入序号:"))
                newAge=int(input("请输入新的年龄:"))
                if stManage.updateStudentsAge(id,newAge) ==-1:
                    print("找不到此学号的学生,请重新输入")
                else:
                    flag = input("修改成功,是否继续修改(y/n)?:")
                    if flag.lower() != "y":
                        break

        elif select == 4:
            while True:
                id =int(input("请输入删除的学号:"))
                if stManage.deleteStudent(id) == -1:
                    print("找不到此学号的学生,请重新输入")
                else:
                    flag = input("删除成功,是否继续删除(y/n)?:")
                    if flag.lower() != "y":
                        break
        elif select == 5:
            while True:
                name=input("请输入查找的姓名:")
                if stManage.searchStudents(name) ==-1:
                    print("查无此人")

                flag = input("是否继续查找(y/n)?:")
                if flag.lower() != "y":
                    break

        elif select == 6:
            flag=int(input("请选择排序方式(1:升序,2:降序)"))
            stManage.orderById(flag)
            stManage.allStudentsShow()
        elif select == 7:
            stManage.writeToFile("student.txt")
        else:
            exit()
student.py

 

--结束END--

本文标题: python3.5程序设计

本文链接: https://lsjlt.com/news/180403.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python3.5程序设计
    Python语言的特点有:易于学习:语法和结构简单,学习起来更加简单。易于阅读:Python代码定义更清晰。易于维护:源代码是相当容易维护的。广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Ma...
    99+
    2023-01-30
    程序设计
  • python3.5仿微软计算器程序
    本文实例为大家分享了python3.5仿微软计算器的具体代码,供大家参考,具体内容如下 from tkinter import * from math import * root = Tk() root...
    99+
    2022-06-04
    微软 计算器 程序
  • Java程序设计基础实验一Java简单程序设计
    实验一 JAVA简单程序设计 一、实验目的 1.掌握Java应用程序的三个步骤:编写源文件、编译源文件和运行应用程序。 2.掌握同时编译多个Java文件。 3.掌握char型数据和int型数据之间的相互转换,同时了解Unicode字符表。 ...
    99+
    2023-10-11
    java
  • Java Swing程序设计实战
    目录一、按钮组件1.1 提交按钮组件1.2 复选框组件二、列表组件2.1 JComboBox类2.2 列表框组件三、文本组件3.1 文本框组件3.2 密码框3.3 文本域组件四、常用...
    99+
    2024-04-02
  • python程序设计的方法
    本篇文章和大家了解一下python程序设计的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。Python是一种面向对象oop(Object Oriented Programming)的脚本语言。面向对象是采用基于对象(...
    99+
    2023-07-02
  • vb程序设计是什么
    VB是Visual Basic的缩写,是一种基于事件驱动的编程语言,主要用于Windows操作系统上的应用程序开发。VB程序设计是指使用Visual Basic语言进行软件开发的过程。VB具有易学易用的特点,可以通过拖拽控件、设置属性和编写...
    99+
    2023-07-10
  • C语言程序设计报告
    C语言程序设计报告    经过上次的飞机游戏制作,使我感觉到C语言程序设计,更加的有趣,也使我对这门课程有了更深的理解和认识。这次我们学习了学习C语言操作文件永久保存数据和基于函数的结构...
    99+
    2024-04-02
  • 怎么程序设计HTML5 Canvas API
    这篇文章给大家介绍怎么程序设计HTML5 Canvas API ,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。代码如下:<script type="text/javas...
    99+
    2024-04-02
  • C#实现钟表程序设计
    本文实例为大家分享了C#实现钟表程序设计的具体代码,供大家参考,具体内容如下 工作空间: 代码如下: using System; using System.Collectio...
    99+
    2024-04-02
  • 超市购物程序设计(java)
    编写一个超市购物程序,在一家超市有牙刷、毛巾、水杯、苹果和香蕉五种商品,用户输入商品序列号进行商品购买,用户输入购买数量后计算出所需要花费的钱,一次购买结束后,需要用户输入“Y”或“N”,“Y”代表继续购买,“N”代表购物结束。商品价格如下...
    99+
    2023-10-24
    java jvm servlet
  • oracle是程序设计语言吗
    否,oracle 不是程序设计语言。它是数据库管理系统,用于创建和管理数据库,但它提供了一种特定于数据库操作的专门编程语言 pl/sql。 Oracle 是程序设计语言吗? 否。 Or...
    99+
    2024-04-19
    mysql oracle python c++
  • Java多线程程序设计入门(转)
    Java多线程程序设计入门(转)[@more@]在Java语言产生前,传统的程序设计语言的程序同一时刻只能单任务操作,效率非常低,例如程序往往在接收数据输入时发生阻塞,只有等到程序获得数据后才能继续运行。随着Internet的迅猛发展,这种...
    99+
    2023-06-03
  • 使用PyQt5设计GUI实现程序图形界面设计
    目录一、熟悉designer——设计界面的神器1.首先打开designer。2.创建窗口3.熟悉各部功能区域二、设计自己的第一个GUI。1.在designer中拖动控件来完善窗口程序...
    99+
    2024-04-02
  • Android九宫格程序设计代码
    本文介绍九宫格程序的设计代码。 一.相关介绍 (一)效果显示 1.程序刚运行时的效果: 2.在页面上点击选择并滑动时的画面 3.选择密码之后的显示 (二)功能介绍 1.点...
    99+
    2022-06-06
    程序设计 程序 Android
  • C#组件化程序设计分析
    这篇文章主要介绍“C#组件化程序设计分析”,在日常操作中,相信很多人在C#组件化程序设计分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#组件化程序设计分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-17
  • 什么是结构化程序设计
    结构化程序设计是一种使程序更加清晰、易于理解和维护的编程方法论。通过将程序划分为不同的模块,并使用控制结构来组织这些模块,结构化程序设计使程序的开发和维护更加高效和可靠,无论是初学者还是有经验的开发者,都应该掌握结构化程序设计的基本原理和技...
    99+
    2023-08-14
  • 怎么解析Java多线程程序设计
    小编今天带大家了解怎么解析Java多线程程序设计,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“怎么解析Java多线程程序设计”的知识...
    99+
    2023-06-03
  • 软件工程毕业设计课题(55)微信小程序毕业设计JAVA企业公司小程序系统设计与实现
      项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信小程序公司企业站系统,前台用户使用小程序,后台管理使用基PHP开发,存储使用Mysql数据库;通过后台添加公司信息、资讯、产品等,用户通过小程序登录,查看公司信息...
    99+
    2023-09-21
    小程序 软件工程 微信小程序 公司小程序
  • 软件工程毕业设计课题(73)微信小程序毕业设计PHP菜谱美食小程序系统设计与实现
        项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信美食菜谱点评小程序系统,前台用户使用小程序,小程序使用微信开发者工具开发;后台管理使用基PP+MySql的B/S架构,开发工具使用phpstorm;通过后台添加资...
    99+
    2023-09-25
    微信小程序 小程序 软件工程 菜谱美食小程序
  • 软件工程毕业设计课题(81)微信小程序毕业设计PHP校园跑腿小程序系统设计与实现
        项目背景和意义   目的:本课题主要目标是设计并能够实现一个基于微信校园跑腿小程序系统,前台用户使用小程序发布跑腿任何和接跑腿任务,后台管理使用基于PHP+MySql的B/S架构;通过后台管理跑腿的用户、查看跑腿信息和对...
    99+
    2023-10-04
    微信小程序 小程序 软件工程 校园跑腿小程序
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作