Python IO编程和软件工程需求分析

Posted admz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python IO编程和软件工程需求分析相关的知识,希望对你有一定的参考价值。

Python IO 编程

1.编写代码,将学生的学号,姓名,成绩输出,并且计算出学生个人的平均成绩。

#写进二进制数据
import struct
f=open(\'d:\\\\student.dat\',\'wb\')
n=input(\'请输入学生人数:\')

#输入数据为字符串类型
#先把字符串转为int型,再打包为bytes型
s=struct.pack(\'i\',int(n))
#写入二进制文件
f.write(s)

i=0
while (i<int(n)):
    num=input(\'请输入第\'+str(i+1)+\'人的学号(2位):\')
    name= input(\'请输入姓名(3个字母):\')
    a1= input(\'请输入高等数学成绩:\')
    a2= input(\'请输入线性代数成绩:\')
    a3= input(\'请输入计算机编程导论成绩:\')
    #对输入的数据进行编码
    s=struct.pack(\'2s3s\',num.encode(\'utf-8\'),name.encode(\'utf-8\'))
    s=s+struct.pack(\'fff\',float(a1),float(a2),float(a3))
    #把记录写入文件
    f.write(s)
    i=i+1
f.close()

#读取二进制数据
f=open(\'d:\\\\student.dat\',\'rb\')
s=f.read(4)#读出人数所占的4个字节
#将读出的bytes解包为tuple
n=struct.unpack(\'i\',s)
#观察人数是否正确
print(\'n=\',n[0])

i=0
li=[]
while (i<n[0]):
    i=i+1
    s=f.read(2)#读出学号
    #将bytes按照utf-8方式解码
    num=str(s,\'utf-8\')
    s=f.read(3*1)
    name=str(s,\'utf-8\')
    s=f.read(4*3)
    a1,a2,a3=struct.unpack(\'fff\',s)
    a4=(a1+a2+a3)/3#计算平均分
    li2=[num,name,a1,a2,a3,a4]
    #存入列表
    li.append(li2)
    
#输出成绩表
i=0
j=0
print(\'平均分\')
while (i<n[0]):
    s2=(li[i][0]+\' \')
    s2=s2+li[i][1]+\' \'*2
    j=2
    while j<6:
        s=\'%-13.2f\'%li[i][j]
        j=j+1
        s2=s2+s
    print(s2)
    i=i+1
f.close()

2.编写代码,将当前工作目录修改为“D:\\”,并验证,最后将当前工作目录恢复为原来的目录。

import os
print(os.getcwd())
os.chdir(\'D:\\\\\')
print(os.getcwd())
os.chdir(\'C:\\\\\')
print(os.getcwd())

3.编写程序,用户输入一个目录和一个文件名,搜索该目录及其子目录中是否存在该文件。

import sys
import os
#提取命令行参数1,作为查找目录
directory=sys.argv[1]
#提取命令行参数2,作为查找文件名
filename=sys.argv[2]
#获取查找目录下所有路径
paths=os.walk(directory)

for root,dirs,files in paths:
    #若存在同名文件,则输出为Yes
    if filename in files:
        print(\'Yes\')
        break
    else:
        print(\'No\')

@在第三题的运行过程中,一定要先创建好文件夹和该目录下的文本文件夹。之后创建运行配置文件,在Parameters中写出创建的文本文件夹的地址。

软件工程需求分析

某单位工资档案管理系统中“职务津贴计算”加工逻辑过程:

假定职工的职称只分为助工、工程师和高工三种,保底津贴分别是350、400、500元,并且单位根据职工的工作年限给予津贴适当的上浮奖励,具体上浮情况如下:无论助工、工程师和高工,工作年限在10年(包含10年的)以下的无浮动;对于在单位工作超过10年但不到20年的职工,助工、工程师津贴上浮20%,高工上浮30%;对于在单位工作超过20年(包含20年的)的职工,助工津贴上浮30%,工程师津贴上浮35%,高工上浮40%。

请用判定表和判定树描述上述规则。

渺小的我,有大大的梦。

以上是关于Python IO编程和软件工程需求分析的主要内容,如果未能解决你的问题,请参考以下文章

Python编程网页爬虫工具集介绍

python并发编程:IO模型比较分析

结对编程需求分析

结对编程需求分析

取长补短——结对编程项目之队友代码分析

团队开发编程 - 需求分析