Python程序设计基础(第六章文件和异常 练习记录)

继续之前的练习

本章介绍了顺序文件的输入和输出,学习如何读取和写入大量数据,并将数据存储为字段和记录。本章最后讨论异常,并演示了如何编写异常处理代码。

#1文件显示
def main():
    file=open('number.txt','r')
    for line in file:
        print(line,end='')
    file.close()
if __name__=="__main__":
    main()
#2文件头显示
def main():
    name=input("Please enter the file name:")
    file=open(name,'r')
    line=file.readline()
    i=0
    while i<5 and line!='':
        line=line.rstrip('\n')
        print(line)
        line=file.readline()
        i+=1
    file.close()
if __name__=="__main__":
    main()
#3行号
def main():
    name=input("Please enter the file name:")
    try:
        file = open(name, 'r')
        line = file.readline()
        i = 1
        while line != '':
            line = line.rstrip('\n')
            print(i, ':', line)
            line = file.readline()
            i += 1
    except IOError as ero:
        print(ero)
    else:
        file.close()
    finally:
        print("The program is over")
if __name__=="__main__":
    main()
#4数据项计数器
def main():
    file=open('names.txt','r')
    count=0
    for line in file:
        count+=1
        print(line.rstrip('\n'))
    print("The number of line is",count)
if __name__=="__main__":
    main()
#5数字之和
def main():
    file=open('number.txt','r')
    sum=0
    for line in file:
        x=line.rstrip('\n')
        sum+=int(x)
    file.close()
    print("The sum of 'number.txt' is",sum)
if __name__=="__main__":
    main()
#6数字的平均值
def main():
    file=open('number.txt','r')
    count=0
    sum=0
    for line in file:
        count+=1
        num=line.rstrip('\n')
        sum+=float(num)
    if count==0:
        print("This file is blank")
    else:
        print("The average is",f'{sum/count:.2f}')
    file.close()
if __name__=="__main__":
    main()
#7随机数文件写入器
import random
def main():
    n=int(input("How many number you want to enter:"))
    file=open('number.txt','w')
    for i in range(n):
        x=random.randint(1,500)
        file.write(str(x)+'\n')
    file.close()
if __name__=="__main__":
    main()
#8随机数文件读取器
def main():
    file=open('number.txt','r')
    count=0
    sum=0
    for line in file:
        count+=1
        x=line.rstrip('\n')
        sum+=int(x)
    file.close()
    print("The sum of 'number.txt' is",sum)
    print("The number of number of'number .txt' is",count)
if __name__=="__main__":
    main()
#9异常处理
def main():
    try:
        file = open('number.txt', 'r')
        count = 0
        sum = 0
        for line in file:
            count += 1
            num = line.rstrip('\n')
            sum += float(num)
        if count == 0:
            print("This file is blank")
        else:
            print("The average is", f'{sum / count:.2f}')
    except IOError:
        print("No such file")
    except ValueError as ero:
        print(ero)
        file.close()
if __name__=="__main__":
    main()
#10高尔夫成绩
def write_record():
    n=int(input("Please enter the number of player:"))
    file=open('golf.txt','w')
    for i in range(n):
        name=input("Please enter the name of golf player:")
        grade=input("Please enter the grade of golf player:")
        file.write(name+'\n')
        file.write(grade+'\n')
    file.close()
def read_record():
    file=open('golf.txt','r')
    i=1
    line=file.readline()
    while line!='':
        print(i,'---')
        print("The name:",line.rstrip('\n'))
        line=file.readline()
        print("The grade:",line.rstrip('\n'))
        line=file.readline()
        i+=1
def main():
    write_record()
    read_record()
if __name__=="__main__":
    main()
#11个人主页产生器
def main():
    name=input("Enter your name:")
    describe=input("Describe yourself:")
    file=open('personal_web.html','w')
    file.write("<html>\n<head>\n</head>\n<body>\n")
    file.write("\t<center>\n")
    file.write(("\t\t<h1>"+name+"</h1>\n"))
    file.write("\t<center>\n")
    file.write("\t<hr />\n")
    file.write("\t"+describe+"\n")
    file.write("\t<hr />\n")
    file.write("</body>\n</html>")
    file.close()
if __name__=="__main__":
    main()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值