天行学习助手天行学习助手

Python二级考试真题及答案解析:

一、选择题

  1. 以下关于程序设计语言的描述,错误的选项是:( )
    • A. Python语言是一种脚本编程语言
    • B. 汇编语言是直接操作计算机硬件的编程语言
    • C. 程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段
    • D. 编译和解释的区别是一次性翻译程序还是每次执行时都要翻译程序
      答案:C
      解析:程序设计语言经历了机器语言、汇编语言、高级语言等阶段,脚本语言属于高级语言的一种,C选项表述不准确.
  2. 表达式1001 == 0x3e7的结果是:( )
    • A. false
    • B. False
    • C. true
    • D. True
      答案:B
      解析:0x3e7是十六进制表示的数,转换为十进制为1001,但是在Python中比较结果为False,因为Python区分大小写,正确的布尔值表示为False和True.
  3. 以下选项,不是Python保留字的选项是:( )
    • A. del
    • B. pass
    • C. not
    • D. string
      答案:D
      解析:string不是Python的保留字,而del用于删除对象,pass用于占位等,not用于逻辑非操作.
  4. 表达式eval('500/10')的结果是:( )
    • A. ,500/10,
    • B. 500/10
    • C. 50
    • D. 50.0
      答案:D
      解析:eval函数会计算字符串中的表达式,500/10的结果是50.0.
  5. 表达式type(eval('45'))的结果是:( )
    • A. <class 'float'>
    • B. <class 'str'>
    • C. None
    • D. <class 'int'>
      答案:D
      解析:eval(‘45’)的结果是整数45,所以type函数返回其类型为<class 'int'>.
  6. 表达式divmod(20,3)的结果是:( )
    • A. 6,2
    • B. 6
    • C. 2
    • D. (6,2)
      答案:D
      解析:divmod函数返回两个数相除的商和余数,20除以3商为6余数为2,结果以元组形式(6,2)返回.
  7. 以下关于字符串类型的操作的描述,错误的选项是:( )
    • A. str.replace(x,y)方法把字符串str中所有的x子串都替换成y
    • B. 想把一个字符串str所有的字符都大写,用str.upper()
    • C. 想获取字符串str的长度,用字符串处理函数str.len()
    • D. 设x = 'aa',那么执行x*3的结果是aaaaaa
      答案:C
      解析:获取字符串长度的函数是len(str),而不是str.len().
  8. str = 'python',想把字符串的第一个字母大写,其他字母还是小写,正确的选项是:( )
    • A. print(str[0].upper()+str[1:])
    • B. print(str[1].upper()+str[-1:1])
    • C. print(str[0].upper()+str[1:-1])
    • D. print(str[1].upper()+str[2:])
      答案:A
      解析:str[0]获取字符串的第一个字符并将其转换为大写,str[1:]获取从第二个字符开始到最后的子串.

二、程序分析题

1.

w = input('请输入数字和字母构成的字符串:')
for x in w:
    if '0' <= x <= '9':
        continue
    else:
        w.replace(x, '')
print(w)

输入”93python22”,输出结果是:
答案:93python22
解析:在循环中,虽然对字符串中的非数字字符进行了替换操作,但字符串是不可变对象,replace方法并不会改变原字符串,所以最终输出的还是原字符串.
2.

la = 'python'
try:
    s = eval(input('请输入整数:'))
    ls = s * 2
    print(ls)
except:
    print('请输入整数')

输入la,输出结果是:
答案:请输入整数
解析:输入的la不是整数,无法通过eval函数转换为有效的表达式求值,所以会触发异常,执行except中的语句.
3.

k = 0
while True:
    s = input('请输入q退出:')
    if s == 'q':
        k += 1
        continue
    else:
        k += 2
        break
print(k)

输入qp,输出结果是:
答案:2
解析:输入qp后,不满足s == 'q'的条件,执行else中的语句,k先加2,然后跳出循环,最终输出2.

三、判断题

  1. append()方法会将新元素添加为列表的第一个元素。( )
    答案:错
    解析:append方法是将新元素添加到列表的末尾.
  2. str1 ='123'str2 = 123,则str1str2相同。( )
    答案:错
    解析:str1是字符串类型,str2是整数类型,数据类型不同,二者不相同.
  3. breakcontinue均用于终止循环。( )
    答案:错
    解析:break语句是终止循环,而continue语句是跳过当前循环,继续下一次循环.
  4. 创建字典时,可以用数字、字符串、元组、列表作为字典中的键。( )
    答案:错
    解析:字典的键必须是不可变数据类型,列表是可变数据类型,不能作为字典的键.
  5. 多层循环中,break可以退出所有循环。( )
    答案:错
    解析:break语句只能退出当前所在的那一层循环.

相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

回到首页 发表评论 回到顶部

遇到问题?请给我们留言

请填写您的电话号码,我们将回复您电话