PTA(test)python3
考试题判断题选择题函数题6-1 编写函数,接收参数a和n,计算并返回形式如a+aa+aaa+aaaa+…+aaa…aaa的表达式前n项的值,其中a为小于10的自然数。 (8 分)6-2 jmu-python-判断质数 (10 分)编程题7-2 合并两个列表并去重 (8 分)7-3 虫子吃苹果 (8 分)7-4 逢七拍手游戏 (8 分)7-5 查找数字字符串并求和 (8 分)7-6 优异生查询(类和
考试题
判断题
1-1
Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型
F
答案正确(1 分)
1-2
对文件进行读写操作之后必须显式关闭文件以确保所有内容都得到保存。
T
答案正确(1 分)
1-3
continue用来跳出最内层for或while循环,退出该循环后程序从循环代码后继续执行; break用来结束当前当次循环。
F
答案正确(1 分)
1-4
在Python 3.x中语句 print(*[1,2,3]) 不能正确执行。
F
答案正确(1 分)
1-5
标准库os的listdir()方法默认只能列出指定文件夹中当前层级的文件和文件夹列表,而不能列出其子文件夹中的文件。
T
答案正确(1 分)
1-6
异常处理结构中的finally块中代码仍然有可能出错从而再次引发异常。
T
答案正确(1 分)
1-7
使用正则表达式对字符串进行分割时,可以指定多个分隔符,而字符串对象的split()方法无法做到这一点。
T
答案正确(1 分)
1-8
已知 x = 3,那么赋值语句 x = ‘abcedfg’ 是无法正常执行的。
F
答案正确(1 分)
1-9
如果仅仅是用于控制循环次数,那么使用for i in range(20)和for i in range(20, 40)的作用是等价的。
T
答案正确(1 分)
1-10
使用内置函数open()且以w模式打开的文件,文件指针默认指向文件尾。
F
答案正确(1 分)
选择题
2-1
Python中定义私有变量的方法是( )。
B.__变量名
2-2
已知字符’A’的ASCII值是65,字符变量c1的值是’A’,c2的值是’D’,执行语句print("%d,%d"%(c1,ord(c2)-2))后,输出结果是:( )。
B.65,66
2-3
下面哪种方法读文件“input.txt”是正确的.。
C.in_file = open(‘input.txt’,‘r’)
2-4
Python的优点不包括( )。
B.强制缩进
2-5
字符串函数strip()的作用是()。
C.去掉字符串两侧空格或指定字符
2-6
执行下列Python语句将产生的结果是( )。 x=2 y=2.0 if(x==y): print(“Equal”) else: print(“No Equal”)
D.Equal
2-7
给出如下代码: fname = input(" 请输入要打开的文件 : ") fi = open(fname, “r”) for line in fi.readlines(): print line fi.close() 以下选项中描述错误的是()。
A.通过 fi.readlines() 方法将文件的全部内容读入一个字典
2-8
print函数输出的结果是()。 l=[[0]*2]*3 l[0][0]=1 l[0][1]=4 print(l[1][0],l[1][1])
A.1 4
2-9
表达式 1234%1000//100的值为( ) 。
D.2
2-10
Python中布尔变量的值为()。
C.
True,False
2-11
当使用’r’模式说明符打开文件时,( )方法将以字符串形式返回文件的内容。
D.
read
2-12
以下()会得到{‘1’,‘2’,‘3’}。
C.
set(“123”)
2-13
字符串是一个连续的字符序列,用什么方式打印出可以换行的字符串?
B.
使用\n
(2 分)
2-14
对于if语句序列的两条语句,如果第一条语句前面有4个空格、第二条语句前面有1个制表符,则运行时会产生( )异常。
D.
TabError
2-15
执行以下代码,结果是()。
count = 4
while count < 12:
print("counting")
count = count + 2
B.
counting
counting
counting
counting
函数题
6-1 编写函数,接收参数a和n,计算并返回形式如a+aa+aaa+aaaa+…+aaa…aaa的表达式前n项的值,其中a为小于10的自然数。 (8 分)
编写函数,接收参数a和n,计算并返回形式如a+aa+aaa+aaaa+…+aaa…aaa的表达式前n项的值,其中a为小于10的自然数。
函数接口定义:
在这里描述函数接口。例如:
def demo(a, n):
a、n均为用户传入的参数,类型为整数。
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:
‘’’
你写的函数在这里
‘’’
x=list(map(int,input().split(’,’)))
print(demo(x[0],x[1]))
输入样例:
在这里给出一组输入。例如:
3,4
输出样例:
在这里给出相应的输出。例如:
3702
def demo(a,n):
x = a
su = 0
for i in range(n):
su = su + a
a = a * 10 + x
return su
6-2 jmu-python-判断质数 (10 分)
本题要求实现一个函数,判断参数是否是质数,是的话返回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):
try:
n = int(num)
for i in range(2, n):
if n % i == 0:
return False
else:
return True
except:
return False
编程题
7-2 合并两个列表并去重 (8 分)
输入两个列表alist和blist,要求列表中的每个元素都为正整数且不超过10; 合并alist和blist,并将重复的元素去掉后输出一个新的列表clist。 可以使用以下实现列表alist的输入: alist=list(map(int,input().split())) 同时为保证输出结果一致,请将集合内元素排序之后再输出。 如对于列表alist,可输出sorted(alist)。
输入格式: 共两行,每一行都用来输入列表中的元素值,以空格隔开(可能不至一个空格 )。
输出格式: 共一行,以列表形式打印输出。
输入样例:
在这里给出一组输入。例如:
1 2 3
4 3 2
输出样例:
在这里给出相应的输出。例如:
[1, 2, 3, 4]
alist = list(map(int,input().split()))
blist = list(map(int,input().split()))
clist = alist + blist
c_set = list(set(clist))
c_set.sort()
print(c_set)
7-3 虫子吃苹果 (8 分)
你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果? 编写程序进行计算。
输入格式:
在同一行输入n、x和y,以逗号隔开
输出格式:
还剩下完整的苹果个数
输入样例:
以下输入表示:一箱10个苹果,虫子每4个小时吃一个苹果,经过9小时
10,4,9
输出样例:
以下输出表示:还剩下几个完整的苹果?
7
data = list(map(int,input().split(",")))
if data[2] % data[1] == 0:
shengyu = data[2] // data[1]
else:
shengyu = data[2] // data[1] + 1
print(data[0] - shengyu)
7-4 逢七拍手游戏 (8 分)
逢七拍手游戏规则是:从1 开始顺序数数,数到有包含有7或者7的倍数的时候拍手。编写程序实现逢七拍手游戏,输入整数n ,输出 n 以内(包含n)的需要拍手的数字,数字之间用1个空格分隔。
输入格式:
输入 一个整数
输出格式:
输出满足条件的所以数据,用空格分隔
输入样例:
30
输出样例:
7 14 17 21 27 28
num = int(input())
a = int()
b = []
c = ''
def prime(number):
if number % 7 == 0:
return True
else:
while number:
a = number % 10
if a == 7:
return True
number = number // 10
return False
for i in range(1,num):
if prime(i) == True:
b.append(i)
for i in range(len(b)):
c = c + str(b[i]) + ' '
print(c)
7-5 查找数字字符串并求和 (8 分)
从键盘输入任意字符串,查找字符串中的所有数字字符串。若无数字字符串,则输出“No digits",若有数字子串,则找到所有数字子串并求它们的和。 注意:数字可能有实数的子串。
输入格式:
输入任意字符串。
输出格式:
若无数字字符串,则输出“No digits",若有数字子串,则找到所有数字子串并求它们的和。
输入样例:
在这里给出一组输入。例如:
34euitye87.89df37.903jdhf374
输出样例:
在这里给出相应的输出。例如:
533.793
import re
data = str(input())
pat = '\d+\.\d+|\d+'
x2 = re.findall(pat,data)
n = 0
for i in x2:
i = eval(i)
n += i
print(n)
7-6 优异生查询(类和对象) (10 分)
题目: 编程实现查找优异生的功能——用户输入多个学生的成绩,输出总分最高的学生姓名和各科成绩
要求: 设计一个学生类(Student),包括
1)属性:姓名(name),数学成绩(mscore),语文成绩(cscore),英语成绩(escore);
2)方法:
构造方法,来构造每个具体的学生对象
计算总成绩方法getSum(self),返回三个成绩的和
获得优异生姓名,数学成绩,语文成绩,英语成绩的方法getBest(self),返回4个结果内容(优异生姓名,数学成绩,语文成绩,英语成绩)
输入格式:
通过4行输入:
第一行输入多个学生姓名,以空格分隔
第二行输入多个数学成绩,以空格分隔
第三行输入多个语文成绩,以空格分隔
第四行输入多个英语成绩,以空格分隔
注意:学生姓名个数要和成绩个数保持一致
输出格式:
在一行中,输出总分最高的学生及其各科科目成绩,以空格分隔。
输入样例:
在这里给出一组输入。例如:
Jack Tom Jim
95 84 32
90 75 45
85 90 67
输出样例:
在这里给出相应的输出。例如:
Jack 95 90 85
names=input().split()
mscores=list(map(int,input().split()))
cscores=list(map(int,input().split()))
escores=list(map(int,input().split()))
class Student:
def __init__(self,n,m,c,e):
self.n,self.total=n,m+c+e
self.m,self.c,self.e=m,c,e
def __lt__(self, other):
return self.total < other.total
def __str__(self):
return '%s %d %d %d' %(self.n,self.m,self.c,self.e)
s=[]
for i in range(len(names)):
s.append(Student(names[i],mscores[i],cscores[i],escores[i]))
s.sort()
print(s[-1])
更多推荐
所有评论(0)