博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[试题]Python大赛部分答案
阅读量:4326 次
发布时间:2019-06-06

本文共 3084 字,大约阅读时间需要 10 分钟。

不定项选择:

1.执行x = [4,3][2>1]后, 请问 x 值为多少()

A.1 B.2 C.3 D.4

2.print('\\t\')输出结果为()

A. \ \ B. \\ \ C. \\\ \\ D. \\\t\\

3.定义域一个列表classmates = ['张三', '李四', '王五','赵六'],执行classmates[-1]后得到的结果是()

A.张三 B.赵六 C.SyntaxError D.UnicodeError

4.定义一个字典 d = {'Michael': 95, 'Jack': 75, 'Tracy': 85},执行 d['Jack'] = 90 后再执行 d['Jack'] = 88,字典中Jack的值为()

A.75 B.90 C.88 D.90,88

5.这个函数的作用是什么?函数类型是什么?()

def fact(n):    if n==1:        return 1    return n * fact(n - 1)

A.求阶乘 B.开方 C.递归 D.迭代

6.定义域一个列表L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'],取前3个元素,应该怎么做?

A.[L[0], L[1], L[2]] B.[L[0], L[1], L[2],L[4]] C.L[0:3] D.L[:3]

7.与Python断言语句有关的是()

A.yield B.@ C.async D.assert

8.下列代码执行结果是?()

[i**i for i in xrange(3)]
A.[1, 1, 4]
B.[0, 1, 4]
C.[1, 2, 3]
D.(1, 1, 4)

9__new__和__init__的区别,说法正确的是?()

A.__new__是一个静态方法,而__init__是一个实例方法
B.__new__方法会返回一个创建的实例,而__init__什么都不返回
C.只有在__new__返回一个CLS的实例时,后面的__init__才能被调用
D.当创建一个新实例时调用__new__,初始化一个实例时用__init__

10.Python中函数是对象,描述正确的是? ()

A.函数可以赋值给一个变量
B.函数可以作为元素添加到集合对象中
C.函数可以作为参数值传递给其它函数
D.函数可以当做函数的返回值

编程题:

1.生成list计算 [1x1, 2x2, 3x3, ..., 10x10]

答案:方法一:普通方法>>> L = []>>> for x in range(1, 11):...    L.append(x * x)...>>> L[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]方法二:列表生成器>>> [x * x for x in range(1, 11)][1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

2.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数

 本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
思路:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

答案:for n in range(100,1001):    i = n / 100    j = n / 10 % 10    k = n % 10    if i * 100 + j * 10 + k == i + j ** 2 + k ** 3:        print "%-5d" % n

不定项选择题答案:

1.C

知识点:Python if 和 for 的多种写法

<1>常规

if a>b:    c = aelse:    c = b

<2>表达式

c = a if a>b else b

<3>二维列表

c = [b,a][a>b]

2.A

知识点:转义字符转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\,可以在Python的交互式命令行用print()打印字符串

3.B

知识点:列表Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素

4.C

知识点:字典Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉

5.AC

知识点:递归函数在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数

6.ACD

知识点:切片Python提供了切片(Slice)操作符L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素L[:3] 表示果第一个索引是0,还可以省略

7.D

知识点:断言assert断言语句用来声明某个条件是真的,其作用是测试一个条件(condition)是否成立,如果不成立,则抛出异常。断言跟异常的区别:断言是用来检查非法情况而不是错误情况的,用来帮开发者快速定位问题的位置。异常处理用于对程序发生异常情况的处理,增强程序的健壮性和容错性。对一个函数而言,一般情况下,断言用于检查函数输入的合法性,要求输入满足一定的条件才能继续执行;在函数执行过程中出现的异常情况使用异常来捕获。

8.A

知识点:(1)这是一个列表生成式,即对于生成器 xrange(3) 中的每个值(分别是0,1,2),赋值给变量 i,然后执行 i**i 的操作。列表生成式 - 廖雪峰的官方网站List Comprehension(2)xrange() 与 range() 的用法完全相同,区别是 xrange() 的返回值是生成器,而 range() 的返回值是列表。Python xrange() 函数Python range() 函数(3)Python 中的 ** 运算代表幂运算,但有个特殊情况,官方文档中把 0**0 的值定义为 1。Numeric Types — int, float, long, complex

9.ABCD

知识点:面向对象__init__是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值。__new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例,是个静态方法。即,__ new__在__init__之前被调用,__ new__的返回值(实例)将传递给__init__方法的第一个参数,然后__init__给这个实例设置一些参数。

10.ABCD

知识点:函数在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量、可以作为元素添加到集合对象中、可作为参数值传递给其它函数,还可以当做函数的返回值,这些特性就是第一类对象所特有的。参考https://www.cnblogs.com/smallmars/p/6936871.html

转载于:https://www.cnblogs.com/-oreo/p/10016879.html

你可能感兴趣的文章
输入1-53周,输出1-53周的开始时间和结束时间
查看>>
实验二
查看>>
shell——按指定列排序
查看>>
crash 收集
查看>>
507 LOJ 「LibreOJ NOI Round #1」接竹竿
查看>>
UI基础--烟花动画
查看>>
2018. 2.4 Java中集合嵌套集合的练习
查看>>
精通ASP.NET Web程序测试
查看>>
vue 根据不同属性 设置背景
查看>>
51Nod1601 完全图的最小生成树计数 Trie Prufer编码
查看>>
Codeforces 1110D. Jongmah 动态规划
查看>>
android驱动在win10系统上安装的心酸历程
查看>>
优雅的程序员
查看>>
oracle之三 自动任务调度
查看>>
Android dex分包方案
查看>>
ThreadLocal为什么要用WeakReference
查看>>
删除本地文件
查看>>
FOC实现概述
查看>>
base64编码的图片字节流存入html页面中的显示
查看>>
这个大学时代的博客不在维护了,请移步到我的新博客
查看>>