1
- 读入一个Python程序,将其单行的注释(即 每一行“#”后面的内容)
删除后保存;删除后保存
def del_note(old_filename,new_filename):
with open(old_filename)as f1, \
open(new_filename,'w')as f2:
for lines in f1.readlines():
if lines.strip()[0]!='#':
f2.write(lines)
del_note('test.py','test1.py')
随机生成100个学生的成绩保存在文件scores.txt文件中;
(1) 从文件中读出学生的成绩,输出最高、最低,以及平均成绩(平均成绩为小数)。
(2) 从文件中读出学生的成绩,统计90分以上学生的人数并输出。
(3) 求出这次考试的平均成绩,并统计各分数段的人数(优秀:≥90,良好:≥80,中等:≥70,及格:≥60,不及格:<60)。
(4) 将统计结果保存到数据文件statictic.txt中
import random
def creat_score():
with open('score.txt','w')as f:
for i in range(100):
score=random.randint(0,100)
f.write(str(score)+'\n')
creat_score()
with open('score.txt')as f:
scores=[int(i[:-1]) for i in f.readlines()]
score_max=max(scores)
score_min=min(scores)
score_avg=sum(scores)/len(scores)
print('最高分:%d,最低分:%d,平均分:%.2f' %(score_max,score_min,score_avg))
with open('score.txt')as f:
scores = [int(i[:-1]) for i in f.readlines()]
count=0
for i in scores:
if i>90:
count+=1
print('90分以上的人数为:%d' %count)
with open('score.txt')as f1,\
open('statictic.txt','w')as f2:
scores = [int(i[:-1]) for i in f1.readlines()]
d={
'优秀':0,
'良好':0,
'中等':0,
'及格':0,
'不及格':0
}
for i in scores:
if i>=90:
d['优秀']+=1
elif i>=80:
d['良好']+=1
elif i>=70:
d['中等']+=1
elif i>=60:
d['及格']+=1
else:
d['不及格']+=1
for item in d:
f2.write(item+':'+str(d[item])+'\n')