PTA Python作业7文件及异常处理
目录
判断题
单选题
函数题
6-1 jmu-python-判断质数
编程题
7-1 下标异常
7-2 try-except-else异常
7-3 综合题:学生成绩输入及输出
判断题
1-1Python内置的open函数,打开文件的时候可能会产生异常。(T)
1-2二进制文件不能使用记事本程序打开。(F)
1-3Python对文件的操作中,close函数用于文件关闭。(T)
1-4文件打开的默认方式是只读。(T)
1-5以'w'模式打开一个可写的文件,如果文件存在会被覆盖。(T)
1-6read方法只能一次性读取文件中的所有数据。(F)
1-7在try...except...else结构中,如果try块的语句引发了异常则会执行else块中的代码。(F)
1-8在Python异常处理中,只能有一个try,但可以有多个except。(T)
1-9在Python中,如果try语句块发生了一个异常,与该异常匹配的所有except子句均会执行。(F)
1-10在Python异常处理中,在try块发生异常后,会执行第一个该异常匹配的except子句,其他except子句则不再执行。(T)
单选题
2-1打开一个已有文件,然后在文件末尾添加信息,正确的打开方式为( )。
A.'r'
B.'w'
C.'a'
D.'w+'
2-2下列方法中,用于获取当前目录的是( )。
A.open
B.write
C.getcwd
D.read
2-3若fp1 = open("test.txt","r")
以下哪个读取文件的方式line返回的不是字符串?()
A.for line in fp1
B.line = fp1.read()
C.line = fp1.readline(
D.line = fp1.readlines()
2-4关于 python 读取文件,下列描述错误的是:
A.关键字 with 会在程序不再需要访问文件或出现异常的情况下,关闭文件 。
B.Python 对数据量没有大小限制,需要读取的文件多大都可以。
C.函数 open()中如果输入参数只有文件名,那么 Python 会在当前执行的 .py 文件的所在目录中查找文件 。
D.读取文本文件时,Python 会将文件中的所有文本都解释为字符串 。
2-5下面语句解释器将抛出什么错误信息?
s=[1,2,3] y=s[3]
A.NameError
B.IndexError
C.SyntaxError
D.TypeError
2-6下列选项中,( )是唯一不在运行时发生的异常。
A.NameError
B.ZeroDivisionError
C.SyntaxError
D.KeyError
2-7Python异常处理中不会用到的关键字是()。
A.if
B.finally
C.else
D.try
2-8关于try-except,哪个选项的描述是正确的?
A.try-except可以捕获所有类型的程序错误
B.编写程序时应尽可能多的使用try-except,以提供更好的用户体验
C.try-except在程序中不可替代
D.try-except通常用于检查用户输入的合法性、文件打开或网络获取的成功性等
2-9当try语句中没有任何错误信息时,一定不会执行( )语句。
A.try
B.else
C.finally
D.except
2-10下列选项中,用于触发异常的是( )。
A.try
B.raise
C.catch
D.except
函数题
6-1 jmu-python-判断质数
作者 蔡莉白
单位 集美大学
本题要求实现一个函数,判断参数是否是质数,是的话返回True,否则返回False
注意:函数中要有异常处理,如果参数不是整数,返回False
函数接口定义:
def isPrime(num)
裁判测试程序样例:
/* 请在这里填写答案 */ num=input() if isPrime(num): print('yes') else: print('no')
输入样例1:
ab
输出样例1:
no
输入样例2:
1.1
输出样例2:
no
输入样例3:
11
输出样例3:
yes
def isPrime(num): flag = 0 try: int(num) except: return False else: for i in range(2,int(num)): if int(num)%i==0: flag+=1 break if flag==0: return True else: return False
编程题
7-1 下标异常
作者 马杨珲
单位 浙江科技学院
输入一个非空字符串和一个索引值,输出字符串中,该索引值对应的字符。若发现异常,则输出“输入下标有误”
输入格式:
输入一个非空的字符串,再输入一个索引值(Python中可以是正向索引,也可以是反向索引)。
输出格式:
输出字符串中,该索引值对应的字符。若发现异常(如输入的索引值太大或太小,超出字符串的索引值范围;如输入的索引值为非整数等),则输出“输入下标有误”
输入样例:
在这里给出一组输入。例如:
Hello World -4
输出样例:
在这里给出相应的输出。例如:
o
输入样例:
在这里给出一组输入。例如:
abcd 4
输出样例:
在这里给出相应的输出。例如:
输入下标有误
输入样例:
在这里给出一组输入。例如:
Good ?
输出样例:
在这里给出相应的输出。例如:
输入下标有误
s = str(input()) try: n = input() n = int(n) print(s[n]) except: print("输入下标有误")
7-2 try-except-else异常
作者 曹记东
单位 陕西理工大学
本题目要求读入1个整数A,然后输出20/A的值,保留两位小数;如果输入不正确,则输出相应的异常信息。
输入格式:
输入在一行中给出1个整数A。
输出格式:
对每一组输入,在一行中输出20/A的值或相应的异常信息。
输入样例1:
3
输出样例1:
20除以3的结果是: 6.67 没有出现异常
输入样例2:
3.0
输出样例2:
值错误,您必须输入数值
输入样例3:
0
输出样例3:
算术错误,您不能输入0
try: a = int(input()) result = 20/a print("20除以{}的结果是: {:.3}".format(a,result)) print("没有出现异常") except ValueError: print("值错误,您必须输入数值") except ZeroDivisionError: print("算术错误,您不能输入0")
7-3 综合题:学生成绩输入及输出
作者 于富强
单位 河北师范大学
输入n(1