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%。
请用判定表和判定树描述上述规则。
渺小的我,有大大的梦。
相关推荐
YENCSDN 2020-11-17
lsjweiyi 2020-11-17
houmenghu 2020-11-17
Erick 2020-11-17
HeyShHeyou 2020-11-17
以梦为马不负韶华 2020-10-20
lhtzbj 2020-11-17
夜斗不是神 2020-11-17
pythonjw 2020-11-17
dingwun 2020-11-16
lhxxhl 2020-11-16
坚持是一种品质 2020-11-16
染血白衣 2020-11-16
huavhuahua 2020-11-20
meylovezn 2020-11-20
逍遥友 2020-11-20
weiiron 2020-11-16