第七章python文件读写简单例题

1、统计file1.txt文件中包含的字符数和行数。

f=open("D://Temp//file1.txt",'r')
count=0
count2=0
for line in f:
    if(line is not ''):
        count+=1
        for i in line:
            if(i is not ''):
                count2+=1
print(count)
print(count2)

在这里插入图片描述
2.写一个程序,比较两个文本文件的内容。如果文件完全相同,输出“OK!”,否则输出“NO!”。

f=open("D://Temp//file1.txt",'r')
f2=open("D://Temp//file3.txt",'r')
num=0
num2=0
a=[]
b=[]
for i in f:
    if(i!=''):
        num+=1;
        a.append(i)
for j in f2:
    if(j!=''):
        num2+=1;
        b.append(j)
if(num!=num2):
    print("不相等1")
else:
    for i in range(num):
        if a[i] == b[i]:
            print("相等")
        else:
            print("不相等2")

在这里插入图片描述
3.Score.txt文件存放着某班学生的计算机课成绩,包含学号、平时成绩、期末成绩三列。请根据平时成绩占40%,期末成绩占60%的比例计算总评成绩,并按学号、总评成绩两列写入另一个文件scored.txt中。同时在屏幕上输出学生总人数,按总评成绩计算90分以上,8089分、7079分、60~69分、60分以下各成绩区间的人数和班级总平均分(取小数点后两位)。

f=open("D://Temp//score.txt",'r')
data1, data2, data3, temp1, temp2 = [], [], [], [], []
tmp1, tmp2, tmp3, tmp4, tmp5 = '', '', '', '', ''
signal = 0
for i in f:
    (tmp1,tmp2)=i.split(' ',1)
    data1.append(tmp1)
    temp1.append(tmp2)
for each in temp1:#把temp1安装空格分成两部分,左边的放到data2,剩下的放到temp2中
       (tmp3,tmp4) = each.split(' ',1)
       data2.append(tmp3)
       temp2.append(tmp4)
for each in temp2:  # 遍历temp2的每个元素,去掉\n
    if each[-1] == '\n':
        for i in range(len(each) - 1):
            tmp5 += each[i]
        signal = 1

    if signal:
        data3.append(tmp5)
        tmp5 = ''
        signal = 0
    else:
        data3.append(each)
fin=[0 for x in range(0,len(data1))]
for i in range(len(data1)):
    fin[i]=float(data2[i])*0.4+float(data3[i])*0.6
f2=open("D://Temp//scored.txt",'w')
for i in range(len(fin)):
    f2.writelines(str(data1[i])+' '+str(fin[i])+'\n')
a=0
b=0
c=0
d=0
e=0
for i in fin:
    if(i>=90):
        a=a+1
    elif(i>=80 and i<90):
        b=b+1
    elif(i>=70 and i<80):
        c=c+1
    elif (i >= 60 and i < 70):
        d = d + 1
    else:
        e=e+1
print('90以上的:',a)
print('80-90:',b)
print('70-80:',c)
print('60-70',d)
print('60以下的:',e)


猜你喜欢

转载自blog.csdn.net/a1424261303/article/details/111412064
今日推荐