2022 年 Python “十级”试题,30 道答案全解析,涨见识了

本文提供了30道Python编程题目,包括语法、数据结构和异常处理等方面,详细解析了每道题目的答案,帮助读者提升Python技能。
摘要由CSDN通过智能技术生成

题目 1

先看全国卷 A 的 10 道题目。

 

这个题目来自 Raymond Hettinger 的 Tweet 。

答案是 B. 因为- 1(中间有空格) 其实就是-1,也就是说可以这么表示score -= (-1)

题目 2

送分题,答案是 A,也就是抛 SyntaxError 错误,因为海象操作符需要使用括号不能直接用,因为需要和普通的赋值区分开来。

题目 3

 

题目来源:https://github.com/satwikkansal/wtfpython#-deleting-a-list-item-while-iterating

这个题目主要是考验对迭代的理解。在循环时先迭代了第一个元素 1 (索引 0) 然后 remove 删除这个元素,剩下了三个元素 2,3,4,但是注意,这里 2 的索引是 0,3 的索引是 1。下一次迭代应该是索引 1,就是迭代并删掉 3,把 2 给略过了,接着会把 4 略过。略过的就会留下,所以结果是[2, 4]

题目 4

 

送分题,答案是 D,因为min是自带的函数,如果把它替换成其他的对象就不能正常运行了,那么就会抛错 TypeError。

题目 5

 

题目来源:https://github.com/satwikkansal/wtfpython#-be-careful-with-chained-operations

答案是 A,这个特别反直觉对吧。但要注意比较方式是按顺序把相邻的 2 个分别比较, 官网这么说 :

if a, b, c, …, y, z are expressions and op1, op2, …, opN are comparison operators, then a op1 b op2 c ... y opN z is equivalent to a op1 b and b op2 c and ... y opN z, except that each expression is evaluated at most once.

所以False == False in [False]的意思是(False == False) and (False in [False]),所以结果是 True。

题目 6

 

送分题,答案是 A,因为 bool 值也是一种数字 (True 为 1,False 为 0):

In : isinstance(True, int)
Out: True

In : 'haha' * True
Out: 'haha'

In : 'haha' * False
Out: ''

题目 7

 

答案是 B。这道题我就是想让大家知道判断可以直接在 print 里面写,而不需要这样:

In : a = 100

In : result = a if a > 100 else 1

In : print(result)
1

题目 8

 

送分题,答案是 D,知识点是列表解包 (Unpacking)。

题目 9

 

题目来源:https://github.com/satwikkansal/wtfpython#-hash-brownies

答案是 C. 在 Python 的字典中,它不关心键的类型,只要它们的值一样那么就是同一个键值对,后面的赋值会替换前面的值:

In : 1 == 1.0
Out: True

题目 10

 

答案是 A,来源找不到了,我之前还专门写过一篇文章讲这个 一段迷惑的使用海象操作符的代码

题目 11

再看全国卷 B 的 10 道题目。

 

这个不了解的比较难,答案是 A。这是 Python freeze 自动创建的模块,除此之外还有__phello__:

In : import __hello__
Hello world!

In : import __phello__
Hello world!

In :
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值