Python软件编程等级考试三级——20210620

Python软件编程等级考试三级——20210620

理论

单选题

1、如下图代码,请问两天下划线处应该填入?

a = [9, 3, 7, 5, 1, 8, 4]
print(sorted(a))
# 执行到此,列表变量a的内容:____
a.sort()
print(a)
# 执行到此,列表变量a的内容:____
A、'w+'以十六进制格式打开一个文件只用于写入
B、'r+'打开一个文件用于读写。文件指针将会放在文件的末尾
C、'w+'开始编辑,即保留原有内容。如果该文件不存在,创建新打开一个文件只用于写入。如果改文件已存在则打开文件,并从原有位置文件
D、'r+'以只读方式打开文件,文件的指针将会放在文件的开头

2、关于open()函数的参数,下列描述正确的是?

A、1、没有变化 2、没有变化
B、1、没有变化 2、顺序有变化
C、1、顺序有变化 2、顺序有变化
D、1、顺序有变化 2、没有变化

3、下面不同数制数据中心,数值最大的是?

A、0x2B
B、0o37
C、41
D、0b100111

4、执行下面代码:print(bool(2)+3)打印的结果是?

A、3
B、4
C、5
D、报错

5、求既是3的倍数且各个位上的数的和是8的倍数的三位数,适合的算法是?

A、解析算法
B、枚举算法
C、排序算法
D、对分查找发

6、下列选项不是Python异常处理可能用到的关键字?

A、try
B、else
C、if
D、finally

7、已定义学期末考核科目km=[´语文´,´数学´,´英语´],先根据安排需要添加综合学科进入考试科目,操作正确的是?

A、km.append('综合')
B、km.insert('综合')
C、km.write('综合')
D、km.read('综合')

8、表达式chr(ord(´0´)+3)的结果是?

A.333
B.'3'
C.'000'
D.'0''0''0'

9、与十进制数1770对应的八进制数是?

A、3350
B、3351
C、3352
D、3540

10、下面代码的输出结果是?

a = [5, 1, 3, 4]
print(sorted(a, reverse=True))
A、[5,1,3,4]
B、[5,4,3,1]
C、[4,3,1,5]
D、[1,3,4,5]

11、用冒泡排序算法对6个数进行排序,进行比较的次数为?

A、4
B、5
C、10
D、15

12、以下代码执行后,如果用户输入为:3*6,则输出为?

cal = input("请输入计算公式:\n")
print(eval(cal))
A、3*6
B、'3*6'
C、18
D、'18'

13、关于Python函数的描述,正确的是?

A、表达式float(´3.14´)的结果是3.14
B、表达式type(100)的结果是十进制数
C、表达式oct(100)可以获得十六进制数
D、表达式hex(100)可以获得八进制数

14、Python中abs()函数的作用为?

A、求绝对值
B、求开方结果
C、求立方结果
D、求平方结果

15、以下代码的执行结果为?

t = (11, 25, 36)
avg = sum(t) / len(t)
print(avg)
A、24
B、24.0
C、12
D、12.0

16、Python中十六进制与十进制进行转换时,下列描述错误的是?

A、十进制数57转换成十六进制,可以表示成int('57',16)
B、十进制数57转换成十六进制,可以表示成hex(57)
C、十六进制数39转换成十进制,可以表示成int('39',16)
D、十六进制数39转换成十进制,可以表示成0x39

17、Python中使用open()函数打开文件完成读的功能,下列说法错误的是?

A、readlines()方法是读取文本所有的行,直到文件末尾
B、readline()方法是读取文件的第一行
C、在同一个程序中,多次使用readline()方法后,程序仍读取第一行的内容
D、执行readline()方法后,运行的结果不是列表,而是字符串

18、以下代码执行后,得到的结果为?

list1 = [5, 0, 6, 1, 2, 7, 3, 4]
print(sorted(list1, reverse=True))
A、[7,6,5,4,3,2,1,0]
B、[0,1,2,3,4,5,6,7]
C、[4,3,7,2,1,6,0,5]
D、[5,0,6,1,2,7,3,4]

19、int(7.8)的执行结果是?

A、8
B、8.0
C、7
D、7.0

20、关于查找的说法,下列说法正确的是?

A、age: 29 顺序查找属于无序查找
B、对分查找一定能找到数据
C、对分查找是一种低效的查找方法
D、顺序查找次数一定比对分查找次数多

21、当try子句中没有任何错误时,一定不会执行语句?

A、try
B、else
C、except
D、finally

22、Python可以通过哪个函数实现字符串数据的格式化处理?

A、format
B、int
C、max
D、str

23、以下代码的输出结果是?

ls =[]
for m in '想念':
    for n in '家人':
        ls.append(m+n)
print(ls)
A、想念家人
B、想想念念家家人人
C、想家想人念家念人
D、['想家''想人''念家''念人']

24、format方法通常用来格式化print的输出格式。以下程序中使用format来输出:我叫小明,我今年12岁了,则代码中缺失部分应该填写?

name="小明"
age=12
print("我叫{},我今年{}岁了".format(___))
A、age,name
B、name,age
C、name:age
D、age name

25、下列数据中,不可能表示十六进制数的是?

A、ABC
B、17F
C、8H5
D、9a01

判断题

26、except语句可以有多个,Python会按except语句的顺序依次匹配你指定的异常。

27、any([])函数和any(())函数的结果是False。

28、利用Python3自带的csv库进行操作,可使用以下程序获取class.csv文件中存储的表头信息,并进行输出。

import csv
with open('class.csv') as f:
    reader=csv.reader(f)
    head_row=next(reader)
    print(head_row)

29、利用csv格式存储二维数据时,每行都是一个一维数据,用逗号分隔,可以有空行。

30、数学老师对小明说:我要计算[4,6,3,2,5,8,7,9]这几个整数的平方,你能帮我编程实现吗?
小明说:两行代码就能实现。程序如下!
请判断,小明的这个程序是否正确。

a = [4, 6, 3, 2, 5, 8, 7, 9]
print(list(map(lambda x : x ** 2, a)))

31、多次使用readline()读取文件,如果要退到文件的起始位置,可以使用seek()实现。

32、Python中使用print函数输出时,输出完毕默认会换行,不能通过修改参数改为其它间隔方式。

33、十六进制与八进制数值之间的转换,常常借助二进制或者十进制作为中间的桥梁。

34、同一个整数分别用十六进制和八进制表示后,数值一定不相等。

35、语句print(“a”,“b”,“c”,sep=“,”)的输出结果是:“a” “b” “c”。

实操

第一题

法定节假日是根据各国、各名族的风俗习惯或纪念要求,由国家法律统一规定的用以进行庆祝及度假的休息时间。法定节假日制度是国家政治、经济、文化制度的重要反映,涉及经济社会的多个方面,涉及广大人民群众的切身利益。法定节假日的休假安排,为居民出行购物和休闲提供了时间上的便利,为拉动内需、促进经济增长做出了积极贡献。给出一个2020年的节假日的放假日期CSV文件(vacations.csv),内容示例如下:

在这里插入图片描述
以第1行为例,1230表示12月30日,0101表示1月1日。

代码功能为:读入CSV文件中数据,获得用户输入。根据用户输入的节假日名称,输出此节假日的假期范围。请补全代码。

fi=open("/data/① ","r")
ls=[]
for line in fi:
    ls.append(line.strip("\n").split(","))
fi.close()
s=input("请输入节假日名称:")
for line in ls:
    if:
        print("{}的假期位于{}-{}之间".format(line[1], line[2], line[3]))

第二题

尊老王国有一个默认规则,排队必须遵守年长的在前,年幼的在后。一支正要出城的队伍,请帮助他们顺利出城。

输入:
15、78、96、45、36

输出
[96, 78, 45, 36, 15]
[3, 2, 4, 5, 1]

请在划线处补全代码,实现以上功能

s = input()
x= s.split('、')
a = []
b = []
n = 0
for i in range(0, len(x)):
    a.append(int(x[i]))
    n = ___________
    b.append(n)
for i in range(n-1):
    for j in range(i+1, n):
        if (__________):
            _________________
            b[i], b[j] = b[j], b[i]
print(a)
print(b)

第三题

有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

n = int(input('请输入总人数:'))
num = []
for i in range(n):
    num.append()
i = 0
k = 0
m = 0
while m < n - 1:
    if: k += 1
    if k == 3:
        num[i] = 0
        k = 0
           ③    
    i += 1
    if i == n : i = 0
i = 0
while num[i] == 0:i += 1
print()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青岛少儿编程-王老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值