python面试题与知识点_python面试题汇总,条件语句知识点考察,内附8题及答案(11期)...

a50f4bfbfbedab640f8a0d0a313f02c578311e0b.jpeg?token=f5c02563a42636285e516dcba205f50e

1.在Python程序中,控件结构为:

A.指示程序中语句的执行顺序

B.管理控制字符的输入和输出

C.定义程序特定的数据结构

D.决定程序启动之前和终止之后发生的情况

答案:A 解析:控制结构决定程序中哪些语句将被执行,以及以什么顺序执行,从而允许语句被跳过或重复执行。

2.什么表示Python中语句块或套件的结束?

A.缩进的行比前一行少

B.注释

C.end

D.}

答案:A 解析:在Python中,没有特定的标记表示块的结束。在Python中,块是按照越位规则通过缩进定义的。当语句出现在比前一行缩进少的行上时,它表示一个块的结束。

3.以下代码段的输出是什么:

if'bar'in{'foo':1,'bar':2,'baz':3}:

print(1)

print(2)

if'a'in'qux':

print(3)

print(4)

A.1234

B.它不会产生任何输出。

C.4

D.124

答案:D 解析:第2行到第5行都是属于第一个if语句的块的一部分。因为{'foo': 1, 'bar': 2, 'baz': 3}中的'bar'为真,所以执行该块。执行第2行和第3行上的print()语句。但是,第4行上的条件语句(' qux'中的'a')为False,因此跳过了第5行上的print()语句。第6行中的print()语句不是这两个if语句的一部分,所以它是无条件执行的。

4.假设您定义了以下变量:a=100,b = 50

答案:

ifa

m=a

else:

m=b

这通常被认为更符合python的风格。但是这个问题特别要求使用if/else语句。

实际上,你最可能做的是使用Python的内置min()函数:

m=min(a,b)

5.下面if/ elif/ else语句会引发一个KeyError异常吗?

d={'a':0,'b':1,'c':0}

ifd['a']>0:

print('ok') #

elifd['b']>0:

print('ok') ##

elifd['c']>0:

print('ok') ###

elifd['d']>0:

print('ok') ###

else:12

print('not ok')

A.会 B.不会

答案:B

解析:d['d']指的是一个无效的键。但是elif子句中的表达式从未求值。一旦第5行上的elif d['b'] >子句被发现为True,剩下的elif子句就会因为短路求值而被跳过。

6.假设x和y的定义是正确的,那么下面哪个是Python中有效的if/else语句:

A.

ifx

elify

else:print('baz')

B.ifx

C.ifx10:print('foo')

D.ifx

答案:AD 解析:

A.为单个if指定多个分号分隔的语句在语法上是正确的,但是PEP 8不鼓励这样做,除非是非常简单的情况。分号的绑定最紧密,因此如果表达式为真,则执行所有语句(在本例中是这样),如果分号为假,则不执行任何语句。

D.您可以在同一行指定语句,就像if、elif或else一样,紧跟在冒号后面。然而,这也不是理想的样式。

7.假设定义了两个变量x和y。

编写一个存根if语句来计算x是否小于y。即使条件为true,该语句也不应执行任何操作。

答案:

ifx

pass

解析:因为代码块是通过Python中的缩进定义的,所以必须要缩进一些东西。块不能为空。该pass语句用作不执行任何操作的语句,可用于定义类似于上面显示的代码存根。

8.下列语句得到的结果是什么?

'a'+'x'if'123'.isdigit()else'y'+'b'

A.'axb'

B.'axyb'

C.'ab'

D.'ax'

答案:D,

解析:条件表达式的优先级低于其他运算符,因此该+运算符的绑定更为紧密。显示的表达式与此等效:

>>> ('a'+'x')if'123'.isdigit()else('y'+'b')

'ax'

既然'123'.isdigit()是True,输出就是'a' + 'x'或'ax'。要使条件表达式首先被求值,应将括号括起来如下:

>>> 'a'+('x'if'123'.isdigit()else'y')+'b''axb'

在这种情况下,带括号的条件的值为'x',整个表达式为'axb'

203fb80e7bec54e71f042dfe113136564ec26a71.jpeg?token=e2a61ccae29cf37f0b10560ac2228d24

fcfaaf51f3deb48fe43041635816972f2cf578c6.jpeg?token=f80130f36bc92baab72776c18e86a47f

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值