打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
[一定要掌握的基础语法]测试题答案及解析

第一题:

A

list1=['延君','周杰伦','陈奕迅','马化腾','林俊杰','欧阳娜娜']
list2=list1[1:5]
list3=list2[2:3]
print(list3)

这时候终端显示为

A、['马化腾']
B、['周杰伦','陈奕迅']
C、['陈奕迅','马化腾','林俊杰','欧阳娜娜']
D、报错

解析:

这里考察的是切片,看题目,打印list3是在list2基础上进行索引的,而list2是在list1基础上进行索引的,那么首先打印list2,根据切片规则,左取右不取,则需要取得是偏移量[1,2,3,4]的元素,则打印出来的结果是 ['周杰伦','陈奕迅','马化腾','林俊杰'],再根据list2再进行切片,list2[2:3]在修改后的list2的基础上则为偏移量[2],则打印为['马化腾']。

第二题:

A

一天,吴枫老师画重金请僵尸粉在女神微博下面发评论求女神一起去吃饭,女神厌烦了,给吴枫老师一个列表list1 = ['我',{1:'点','2':['一','也'] } ,'不', ['感','兴'],'趣 '],下面哪个选项能让吴枫老师心碎:

A、print( list1[0] list1[1]['2'][0] list1[1][1] list1[1]['2'][1] list1[2] list1[3][0] list1[3][1] list1[4])

B、print(print(list1[0] list1[1]['一'])

C、print(list1[0] list1[3][0] list1[3][1] list1[4])

D、print(print(list1[1] list1[2]['2'][1] list1[2]['2'][2]))

解析:

先观察选项,B,D有两个print,排除。

C选项比较短,可以从列表中快速读出。list1[0]是‘我’这个字符串,list1[3]是列表['感','兴'],所以list1[3][0]是‘感’,list1[3][1]是‘兴’,list1[4]是‘趣’。合起来是我感兴趣,不合题意。

答案锁定为A。list1[0]是‘我’,list1[1]是字典{1:'点','2':['一','也'] },list1[1]['2']是列表['一','也'],所以list1[1]['2'][0]是‘一’,list1[1][1]是点,list1[1]['2'][1]是‘也’,list1[2]是‘不’,list1[3][0],list1[3][1]分别是‘感’和‘兴’,list1[4]是‘趣’。合起来是‘我一点也不感兴趣’。

第三题:

D

延君吃完饭了在公司对七七说了一句胡话,由于字符串格式有误导致七七看到了KeyError,TypeError等等错误,七七为了搞明白延君说了什么,下面的哪个选项能让七七了解延君说了什么?
A、print('七七:水{}{}',format{'我要','水'})
B、print('七七,%s%.1f'%('我要','水'))
C、print('七七,%s%d%('我要',''))
D、print('七七,{}{}'.format('我要',''))

解析:

要用到format函数只有str型才可以,str.format()这个函数是python2.6之后才有的,而

python2.6之前会用到'%d' %10之类写法的转换符,现在官方推荐使用str.format(),毕竟这是最新规范,

也是官方文档推荐的规范。format函数用{}替换了%,看起来更加醒目.给出两种示例供大家日后参考:

1.print('no data available for person with id: %s, name: %s' %(id, name))

2.print('no data available for person with id: {}, name: {}'.format(id, name))

第四题:

A

d = {'我是谁':'我是人','我来自哪里':'来自地球','我将要去何处':'去向不知道','你是谁':'谁稀罕'}
for i in d:

要想打印出:
>>>我是人
>>>来自地球
>>>去向不知道
>>>谁稀罕
应该输入什么并打印出上述语句?

A、print(d[i])
B、print(d)
C、print(i)

解析:

print(d[i]) 打印的是字典里面的键值Value,所以是符合题意的

print(d)打印的是整个字典,而字典里面有四个元素,所以会打印四次字典

print(i)打印的是字典里面的键key

第五题:

C

idol_cost = 2000
def cost():
cloths_cost = int(input('请输入延君在买衣服上花费了多少'))
food_cost = int(input('请输入延君在吃饭上花费了多少'))
variable_cost = cloths_cost food_cost
return variable_cost


def sum_cost():
sum = idol_cost cost()
print('延君吃饭和买衣服,再加上追星一共花了' str(sum) '元钱')
sum_cost()

问题:当延君以八折优惠买了一件原价2000的POLO衫,并吃了一碗80元的添加螺蛳粉时,终端输出结果为?
A.延君吃饭和买衣服,再加上追星一共花了2080元钱
B.延君吃饭和买衣服,再加上追星一共花了1680元钱
C.延君吃饭和买衣服,再加上追星一共花了3680元钱
D.延君吃饭和买衣服,再加上追星一共花了4080元钱

解析:

12行调用sum_cost()函数,并且在sum_cost()函数内又调用了def cost()函数,sum = idol_cost cost() 就是全局变量idol_cost加上def cost()函数的返回值。衣服原价2000元打八折是1600,吃饭是80元,所以返回值variable_cost =cloths_cost food_cost=1600 80=1680

sum = idol_cost cost() =sum = idol_cost variable_cost=2000 1680=3680

第六题:

B

吴枫老师在某个深夜做了一个梦,梦里梦到他的女神小龙女,睡在他旁边,他的心里有一个函数def gaobai(a,b,c,*d,f='我爱你'),函数有一个默认值用来向女神表白的,问:如何修改参数让吴枫老师直接在梦中向女神告白的时候以失败告终”?

A. gaobai('小','龙','女','姐','姐','滚开')
B. gaobai('小','龙','女','姐','姐',f='滚开')
C. gaobai('小','龙','女','姐','姐','','滚开')
D. gaobai('小','龙','女',f='滚开','姐','姐')

解析:

我们要知道,默认函数必须要在括号的最右边,我们可以通过按顺序赋值的方式修改默认值,

但这题是不允许的,因为默认参数的前面有个不定参数,如果不显式修改默认值,默认值是不会修改的,因为Python不知道这个值是不是默认参数或者不定参数,干脆就不思考,把前面除顺序参数外的参数都归为不定参数,而默认参数是不会改变的,由此,A、C排出,默认参数是在括号的最右边,所以,我们要修改的时候最好要指明默认参数的参数名外,还要把默认参数按顺序来赋值,因为在括号最右,所以这题选B。

第七题:

B

teacher =[ '延君','卡西','七七']
for i in range(3):
teacher1 = teacher[0]
teacher = teacher[1:]
teacher2 = teacher.append(teacher1)
print(teacher2)
终端会显示什么?
A
['卡西', '七七', '延君']
['七七', '延君', '卡西']
['延君', '卡西', '七七']
B
None
None
None
C
['卡西', '七七', '延君']
D
['卡西', '七七', '延君']


解析:

首先这个输出语句是在循环里面,所以可以显而易见的知道把没有输出三个的排除,CD排除掉,这题的意思是,

把列表的第一个参数提取出来放进一个临时变量teacher1里面,然后在重新给列表teacher赋值,赋值是从原列表的第二个元素到最后一个元素。

append没有返回值,所以为空的。所以选B

第八题:

A

def function():
a = input('延君帅不帅')
if a == '帅':
b = '哈哈'
c = '真的假的,'
elif a == '不帅':
b = '!!!'
c = '我可以谦虚你不能瞎眼'
return b,c
h = function()

若想延君不生气,应该输入什么并打印出相应语句,延君脸上才会出现一脸欣慰的笑容?
A、 帅,print(h[1],h[0])
B、 帅,print(h[1]],h[2])
C、 帅,print(h[1][2])
D、 帅,print(h[1][0]])

解析:

输入帅后,函数中if语句生效,因此b=‘哈哈’,c=‘真的假的’,因此函数返回一个元组(‘哈哈’,‘真的假的’),一共只有两个元素,所以B,C错误。D中取出的第一个元素不是一个序列对象,所以不能直接再用[0]取,答案为A。

第九题:

A

print(3<5)
print('延君'=='帅哥')

下面代码显示结果为?
A、TrueFalse
B、TrueTrue

解析:

考察布尔值:True(判断为真)和False(判断为假)。

布尔值是判断3<5 在数学式是正确的,所以为True

字符串 ‘延君’不等于‘帅哥’,所以为False

第十题:

B

a=1
while '卡西真可爱':
a=a*2
print(a)
a =1
if a > 10:
break
else:
continue
终端结果会有几行?
A.2行 B.3行 C.4行 D.5

解析:

非空字符串,布尔值为True,所以开始循环。

第一次循环,a=a*2,结果使a的值更新为2并打印出来,再加1为3,小于10,else语句生效,返回循环;

第二次循环,a=a*2,结果使a的值更新为6并打印出来,再加1为7,小于10,else语句生效,返回循环;

第三次循环,a=a*2,结果使a的值更新为14并打印出来,再加1为15,大于10,if语句生效,跳出循环。

因此打印结果为3行,答案为B

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
第9关笔记
Python基础知识储备,小白都能看懂的Python函数,实战操作演示
17 函数进阶
大牛带你学习Python中这些简单的函数,看一遍就会
技术图文:Python 匿名函数 VS. C# Lambda表达式
编程技巧:掌握八个常用的数学运算与统计函数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服