目录
判断题
单选题
函数题
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
作者 蔡莉白
单位 集美大学
本题要求实现一个函数,判断参数是否是质数,是的话返回True,否则返回False
注意:函数中要有异常处理,如果参数不是整数,返回False
def isPrime(num)
/* 请在这里填写答案 */
num=input()
if isPrime(num):
print('yes')
else:
print('no')
ab
no
1.1
no
11
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
作者 马杨珲
单位 浙江科技学院
输入一个非空字符串和一个索引值,输出字符串中,该索引值对应的字符。若发现异常,则输出“输入下标有误”
输入一个非空的字符串,再输入一个索引值(Python中可以是正向索引,也可以是反向索引)。
输出字符串中,该索引值对应的字符。若发现异常(如输入的索引值太大或太小,超出字符串的索引值范围;如输入的索引值为非整数等),则输出“输入下标有误”
在这里给出一组输入。例如:
Hello World
-4
在这里给出相应的输出。例如:
o
在这里给出一组输入。例如:
abcd
4
在这里给出相应的输出。例如:
输入下标有误
在这里给出一组输入。例如:
Good
?
在这里给出相应的输出。例如:
输入下标有误
s = str(input())
try:
n = input()
n = int(n)
print(s[n])
except:
print("输入下标有误")
作者 曹记东
单位 陕西理工大学
本题目要求读入1个整数A,然后输出20/A的值,保留两位小数;如果输入不正确,则输出相应的异常信息。
输入在一行中给出1个整数A。
对每一组输入,在一行中输出20/A的值或相应的异常信息。
3
20除以3的结果是: 6.67
没有出现异常
3.0
值错误,您必须输入数值
0
算术错误,您不能输入0
try:
a = int(input())
result = 20/a
print("20除以{}的结果是: {:.3}".format(a,result))
print("没有出现异常")
except ValueError:
print("值错误,您必须输入数值")
except ZeroDivisionError:
print("算术错误,您不能输入0")
作者 于富强
单位 河北师范大学
输入n(1 每组测试数据首先输入一个正整数n(1 如果n出现错误,出现异常。如果n输入正确,输出排序后的学生信息,每行一个学生信息:学号、姓名、语文、数学、英语、平均成绩(保留2位小数),上面每个数据之间留一个空格。 在这里给出多组。例如: 在这里给出相应的输出,文件中与输出一样。例如:输入格式:
输出格式:
输入样例:
3
0001 zhangsan 80 95 65
0002 lisi 65 52 56
0003 wangwu 87 86 95
输出样例:
0003 wangwu 87 86 95 89.33
0001 zhangsan 80 95 65 80.00
0002 lisi 65 52 56 57.
try:
n = int(input())
if n<=1 or n>100:
raise ValueError
students = []
for i in range(n):
info = input().split()
if len(info[0]) != 4 or not info[0].isdigit():
raise ValueError
if not info[2].isdigit():
raise ValueError
if not info[3].isdigit():
raise ValueError
if not info[4].isdigit():
raise ValueError
students.append([info[0], info[1], int(info[2]), int(info[3]), int(info[4])])
for student in students:
student.append(round(sum(student[2:])/3, 2))
students.sort(key=lambda x: (-x[5], -x[2]))
for student in students:
print(student[0], student[1], student[2], student[3], student[4], student[5])
except ValueError:
print("输入的人数必须是数字,大于0并且小于等于100")