第七章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)


在这里插入图片描述
score.txt

001 95 94
002 89 88
003 78 85
004 66 68
005 95 94

在这里插入图片描述
scored.txt

001 94.4
002 88.4
003 82.2
004 67.2
005 94.4

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谷咕咕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值