试题详情

Python 语言程序设计练习题

开始做题

试卷预览

1 问答题 5分

Python 语言有哪些数据类型?

数值类型(整型、浮点型、复数型) 、布尔型、字符串、列表、元组、字典和集合等

本题解析: 暂无解析

2 问答题 5分

Python 语言有哪些运算符?请列表说明它们各自的运算优先级。

算术运算符、位运算符、关系运算符、逻辑运算符、赋值运算符、成员运算符、身份运算符等

本题解析: 暂无解析

3 问答题 5分

Python 语言有哪些语句?

if 语句、 while 语句、 for 语句

本题解析: 暂无解析

4 问答题 5分

简述元组与列表的异同。并简述它们各自的用途。

Python元组和列表一样, 都是有序序列, 在很多情况下可以相互替换, 很多操作也类似,但它们也有区别:元组是不可变的序列类型,元组能对不需要改变的数据进行写保护,使数据更安全。列表是可变的序列类型,可以添加、删除或搜索列表中的元素。元组使用小括号定义用逗号分隔的元素, 而列表中的元素应该包括在中括号中。虽然元组使用小括号,但访问元组元素时,要使用中括号按索引或分片来获得对应元素的值。元组可以在字典中作为关键字使用,而列表不能作为字典关键字使用,因为列表不是不可改变的。只要不尝试修改元组,那么大多数情况下把它们作为列表来进行操作用途:列表可被用于保存多个互相独立对象的数据集合元组用于描述一个不会改变的事务的多个属性

本题解析: 暂无解析

5 问答题 5分

简述字典和集合的异同。并简述它们各自的用途。

字典和集合的数据元素之间没有任何确定的顺序关系,属于无序的数据集合体,因此不能像序列那样通过位置索引来访问数据元素。

作为一种复合数据类型, 字典和集合之间的主要区别在于它们的操作, 字典主要关心其元素的检索、插入和删除,集合主要考虑集合之间的并、交和差操作。

本题解析: 暂无解析

6 问答题 5分

请分别举例说明遍历列表、元组、字典和集合中各元素的方法。

列表:列表与 for 循环语句配合使用,可实现对列表各个元素的遍历。

for i in list: print ("序号: %s 值:%s" % (list.index(i) + 1, i)) 元组:元组与 for 循环语句配合使用,可实现对元组各个元素的遍历。示例同列表。

字典:

遍历字典的关键字: d.keys():返回一个包含字典所有关键字的列表,所以对字典关键字的遍历转换为对列表的遍历。

遍历字典的值: d.values():返回一个包含字典所有值的列表,所以对字典值的遍历转换为对列表的遍历。

遍历字典的元素: d.items():返回一个包含所有 (关键字 ,值)元组的列表,所以对字典元素的遍历转换为对列表的遍历。

集合:集合与 for 循环语句配合使用,可实现对集合各个元素的遍历。

本题解析: 暂无解析

7 问答题 5分

在 Python 中如何实现二维数组、结构体、结构体数组(二维表) 、链表?请举例说明。

二维数组:列表中嵌套列表

matrix=[[0,0,0],[0,0,0],[0,0,0],[0,0,0]]

结构体:使用字典数据类型实现结构体

当列表的元素也是一个列表时,列表就表示二维矩阵或锯齿阵。

本题解析: 暂无解析

8 问答题 5分

在 Python 中如何实现栈和队列?请举例说明。

class Stack(object):

def __init__(self):

self.stack=[]

def isEmpty(self):

return self.stack==[]

def push(self,item):

self.stack.append(item)

def pop(self):

if self.isEmpty():

raise IndexError,'pop from empty stack'

return self.stack.pop()

def peek(self):

return self.stack[-1]

def size(self):

return len(self.stack)

class Queue:

def __init__(self, head=None):

self.storage = [head]

def enqueue(self, new_element):

self.storage.append(new_element)

def peek(self):

return self.storage[0]

def dequeue(self):

return self.storage.pop(0)

本题解析: 暂无解析

9 问答题 5分

请分别说明 Python 中正则表达式、 lambda 函数、装饰器、异常处理、断言处理各自的用途。

正则表达式:

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个 “规则字符串 ”,这个“规则字符串 ”用来表达对字符串的一种过滤逻辑。

lambda函数:是指没有函数名的简单函数,只可以包含一个表达式,不允许包含其他复杂的语句, 表达式的结果是函数的返回值。 用匿名函数有个好处, 因为函数没有名字,所以不必担心函数名冲突。

装饰器: 可简单地理解为一个函数,这是一个用来包装函数的函数,经常用于为已经存在的函数添加额外的功能。 当多个函数有重复代码时, 可以将此部分代码单独拿出来整理成一个装饰器,然后对每个函数调用该装饰器,这样可以实现代码的复用,而且可以让原来的函数更轻便。 当需要为多个己经写好的函数添加一个共同功能, 例如检查参数的合法性时, 就可以单独写一个检查合法性的装饰器, 然后在每个需要检查参数合法性的函数处调用即可,而不用去每个函数内部修改。

断言处理

本题解析: 暂无解析

10 问答题 5分

请分别举例说明,在 Python 中函数的实在参数与形式参数间单向和双向传递数据是如何实现的。函数的位置参数与关键字参数有何区别?

在 Python 中,实参向形参传送数据的方式是“值传递” ,即“拷贝”或“复制”。实参的值传给形参, 是对象间整体赋值, 是一种单向传递方式, 不能由形参传回给实参。

函数体传入的参数, 为函数体外变量引用的副本。 在函数体中改变变量指向的堆中的值,对函数外变量有效。在函数体中改变变量的引用,对函数外变量无效。

关键字参数和位置参数的区别:

函数调用时的参数通常采用按 位置匹配的方式,即实参按顺序传递给相应位置的形参。实参的个数应与形参个数必须完全相等。

在函数调用中使用关键字参数,是指通过形式参数的 名称 来指示为哪个形参传递什么值,这可以跳过某些参数或脱离参数的顺序。

本题解析: 暂无解析

其他考生还关注了

更多

相关题库

更多
置顶