简答题

1.列表和元组之间的区别是什么?字典和列表的主要区别是什么?

  • 字符串:不可变、有序序列;可以索引切片;引号界定;

    ​ 单一字符的有序组合。例如,str=“python”

  • 列表:可变、有序序列;可以索引切片;[ ]界定;

    ​ 长度和内容都是可变的,可自由对列表中数据项进行增加、删除或替换。

    ​ 没有长度限制,元素类型可以不同,使用非常灵活。例如ls = [425, “BIT”, [10, “CS”], 425]

  • 元组:不可变、有序序列;可以索引切片;( )界定;

    ​ 包含0个或多个数据项的不可变序列类型。元组生成后是固定的,其中任何数据项不能替换或删除。

    ​ 例如,color = (“red”, 0x001100, “blue”, creature)

  • 集合:可变、无序;不可以索引切片;{ }界定;

    ​ 包含0个或多个数据项的无序组合。例如S = {425, “BIT”, (10, “CS”), 424}

  • 字典:可变、无序映射;不可以索引切片;{ }界定;

    ​ 包含0个或多个键值对的集合。

    ​ 字典是一个键值对的集合,该集合以键为索引,一个键信息只对应一个值信息;

    ​ key不重复,不可变; value可变

    ​ 例如,shoudu={“中国”:“北京”, “美国”:“华盛顿”, “法国”:“巴黎”}

2.简述list和tuple的区别?

相同点:都是有序集合

异同点:1.list是可变数据类型,tuple是不可变数据类型

​ 2.定义方式:list[] tuple()

​ 3.list有append(),insert(),extend();pop(),remove(),clear()等增删方法;tuple没有

3.什么是全局作用域?什么是局部作用域?

- 作用域——变量起作用的范围

- 全局作用域——变量在整个程序中都有效。

- 局部作用域——变量只在代码块中有效,比如函数内部。

4.简述定义函数的规则?

def 函数名称([参数]):

[函数注释]

[函数体]#创建语法

若有返回值,则用return返回;若无返回值,无需return,但是默认依然返回值:None

5.简述如何使用xpath进行爬虫?

  1. 首先导入需要使用模块和库(lxml和requests
  2. 分析目标网站,拿到正确的url网址,发送网络请求
  3. 接受网络请求返回的数据,使用xpath语法解析网页内容
  4. 数据处理分析

6.请给出break和continue的定义和区别。

- break:退出整个循环,执行循环体外的语句;

是结束整个循环过程,不再判断执行循环的条件是否成立

- continue:退出本次循环,进入下一轮循环;

只结束本次循环,而不终止整个循环的执行

7.声明变量需要注意事项有哪些。

以字母、数字、下划线组成,不能以数字开头 ,大小写敏感,不能使用系统关键字

8. __new__和__init__的区别?
①__new__是一个静态方法,而__init__是一个实例方法.
②创建一个新实例时调用__new__,初始化一个实例时用__init__.
③__new__方法会返回一个创建的实例,而__init__什么都不返回.
④只有在__new__返回一个cls的实例时,后面的__init__才能被调用.

9.read,readline和readlines之间的区别?**

  • read 读取整个文件
  • readline 每次读取一行内容,使用生成器方法
  • readlines 一次性读取所有行内容,到一个迭代器,并按行返回形成一个列表,以供遍历

10.简单解释Python基于值的自动内存管理方式?

  • 基于值:在Python中可以为不同变量赋相同的值,这个值在内存中只有一份,多个变量指向同一个内存地址;
  • 自动内存管理功能:会自动跟踪内存中所有的值,对于没有任何变量指向的值,Python自动将其删除。

11.异常和错误有什么区别?

  • 异常是指因为程序执行过程中出错而在正常控制流以外采取的行为。

    严格来说,语法错误和逻辑错误不属于异常,但有些语法错误往往会导致异常。

    例如由于大小写拼写错误而访问不存在的对象,或者试图访问不存在的文件,等等。

  • 错误是语法或是逻辑上的。当检测到一个错误时,解释器会指出当前流已经无法继续执行下去,这个时候就会出现异常。

12.用两个元素之间有对应关系的list构造一个dict

names = ["zyh","xp"]
ages = [20, 23]
result = dict(zip(names,ages))
print(result)

编程题

1.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

def tongji(str):alpha = 0   # 统计字母space = 0     # 统计空格digit = 0   # 统计数字qita = 0 # 统计其他字符for s in str:if s.isalpha():alpha += 1elif s.isspace():space += 1elif s.isdigit():digit += 1else:qita += 1print("字母:",alpha,";空格:",space,";数字:",digit,";其他:",qita)
ss = input("请输入一行字符:")
tongji(ss)
"""return letter, space,digit,other
ss = input("请输入字符串:")
print(call2(ss))"""

2.有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

count = 0
for i in range(1,5):for j in range(1,5):for k in range(1,5):if i != j and i != k and j != k:count += 1print(i,j,k)
print("共有%d种排列"%count)

3.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

x2=1    #第十天的剩下的桃子的个数
for day in range(9,0,-1):x1=(x2+1)*2 #第九天桃子的个数x2=x1
print("第一天个数%d"%x1)

4.定义一个函数 sum_numbers能够接收一个 num的正整数参数****计算1+2+3+…+num的结果并打印,使用两种方式解答

def sum_numbers(num):result = 0for i in range(1,num+1): #不包括num+1result += ireturn  result #缩进一定要注意
num = input("请输入一个正整数")
print(sum_numbers(int(num)))def sum_numbers(num):if num == 1: #等于号不能写错return num #使得num不会到0 和负数else:return num +sum_numbers(num-1)
num = input("请输入一个正整数:")
print(sum_numbers(int(num)))def jiecheng(num):result=1for i in range(1,num+1):result *= ireturn result
a = input("请输入一个正整数:")
print(jiecheng(int(a)))def jiecheng(num):if num == 1:return 1else:return num * jiecheng(num-1)
a = input("请输入一个正整数:")
print(jiecheng(int(a)))

5.相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100 。(要求输入数据不符合要求,需要一直输入,程序不能结束)

#判断输入的队尾人数是否符合要求
#如果复合要求 duiwie=False 会跳出循环;否则会一直循环 直到输入正确的符合要求的数字
duiwei = True
while duiwei:a,b,c = input("请输入三个数,逗号分隔:").split(",") #这句不要忘记if int(a)<3 and int(b)<5 and int(c)<7:duiwei = False
#跳出循环
num = 10#总人数不小于10 不超过100
flag = True
while num<=100 and flag:if (num%3)==int(a) and (num%5)==int(b) and (num%7)==int(c):print("最少人数为:%d"%num)#满足要求之后输出人数 flag = Falsebreak #跳出循环num += 1
if flag:print("无解")

其他

1、请写出机器语言、汇编语言、高级语言的定义,并举例说明上述三种语言是如何执行数字2和3的加法。

  • 机器语言是一种二进制语言,它直接使用二进制代码表达指令,是计算机硬件可以直接识别和执行的程序设计语言。

    例如:执行数字2和3的加法,16位计算机上的机器指令为:11010010 00111011,不同计算机结构的机器指令不同。

  • 汇编语言使用助记符与机器语言中的指令进行一一对应,在计算机发展早期帮助程序员提高编程效率。

    例如:执行数字2和3的加法,汇编语言指令为:add 2, 3, result,运算结果写入result。

  • 高级语言是接近自然语言的一种计算机程序设计语言,更容易地描述计算问题并利用计算机解决计算问题。

    例如:执行数字2和3加法的高级语言代码为:result = 2 + 3

2、请简要回答continue语句和break语句的区别,并举例说明

  • continue语句只结束本次循环,而不终止整个循环的执行。
  • break语句则是结束整个循环过程,不再判断执行循环的条件是否成立

3、请简要回答文本文件和二进制文件的定义,并举例说明常用的文本文件和二进制文件有哪些?

  • 文本文件一般由单一特定编码的字符组成,如UTF-8编码。

    例如txt格式的文本文件。

  • 二进制文件直接由比特0和比特1组成,没有统一字符编码,文件内部数据的组织格式与文件用途有关。

    例如,png图片,avi格式视频。二进制文件和文本文件最主要的区别在于是否有统一的字符编码

4、请简要说明jieba库的分词原理,并写出jieba库支持的三种分词模式的应用场景。

利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组。

jieba库支持3种分词模式:

  • 精确模式,将句子最精确地切开,适合文本分析;
  • 全模式,把句子中所有可以成词的词语都扫描出来,速度非常快;
  • 搜索引擎模式,在精确模式基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

5、大学排名爬虫的构建需要三个重要步骤:

  • 从网络上获取网页内容;
  • 分析网页内容并提取有用数据到恰当的数据结构中;
  • 利用数据结构展示或进一步处理数据。由于大学排名是一个典型的二维数据,因此,采用二维列表存储该排名所涉及的表单数据。

6、高级语言按照计算机执行方式的不同分为静态语言和脚本语言,请写出这两种语言的不同点,并分别说明上述两种语言的执行过程。

静态语言和脚本语言是高级语言按照计算机执行方式的不同进行的分类。

静态语言是使用编译方式执行的语言,脚本语言是使用解释方式执行的语言。

静态语言编译和执行过程如下:


脚本语言程序的解释和执行过程如下:

7、请简要回答while循环和for循环的区别,并写出打印输出字符串"PYTHON"中的每一个字符的while循环和for循环语句。

for是确定次数的遍历循环;

while是无限循环又称条件循环,while循环一直保持循环操作直到循环条件不满足才结束。

for 和 while 的例子分别如下:

for s in "PYTHON":print(s, end="") #PYTHON
idx = 0
while idx < len("PYTHON"):idx += 1
print("循环次数:{}".format(idx))   # 输出:循环次数:6

8、请写出python对文本文件和二进制文件操作的三个通用步骤,并分别写出以文本文件方式和二进制文件方式打开一个文件‘file.txt’的语句。

python对文本文件和二进制文件采用的统一操作步骤是:打开-操作-关闭。

以文本文件方式打开如下:textfile = open(‘file.txt’,‘rt’)

以二进制文件方式打开如下:binfile = open(‘file.txt’,‘rb’)

9、请回答网络爬虫应用一般分为哪两个步骤,并写出python中这两个步骤对应的常用函数库及对应库的pip安装指令。

网络爬虫应用一般分为两个步骤:

  1. 通过网络链接获取网页内容;
  2. 对获得的网页内容进行处理。

这两个步骤分别使用不同的函数库:requests 和 beautifulsoup4。

这两个库的pip安装指令如下:

  • pip install requests 或者 pip3 install requests
    打开如下:textfile = open(‘file.txt’,‘rt’)

以二进制文件方式打开如下:binfile = open(‘file.txt’,‘rb’)

9、请回答网络爬虫应用一般分为哪两个步骤,并写出python中这两个步骤对应的常用函数库及对应库的pip安装指令。

网络爬虫应用一般分为两个步骤:

  1. 通过网络链接获取网页内容;
  2. 对获得的网页内容进行处理。

这两个步骤分别使用不同的函数库:requests 和 beautifulsoup4。

这两个库的pip安装指令如下:

  • pip install requests 或者 pip3 install requests
  • pip install beautifulsoup4 或者 pip3 install beautifulsoup4

Python简答题编程题相关推荐

  1. Python计算机二级编程题真题及考点总结【纯干货】(下篇)

    文章目录 一.前言 二.编程题详解 2.1 简单应用题 2.1.1 简单应用题-真题 2.1.2 简单应用题-考点总结 考点一:turtle库绘图 考点二:数据类型处理相关 2.2 综合应用题 考点三 ...

  2. Python计算机二级编程题真题及考点总结(上篇)

    文章目录 一.前言 二.考纲/考试方式 三.编程题详解 3.1 基本操作题-真题 3.2 基本操作题-考点总结 3.2.1 考点一:基本输入输出函数 3.2.2 考点二.三:程序的控制结构和数据类型 ...

  3. python简答题及答案查询公众号和软件_大学慕课答案免费查询公众号

    [单选] 再障患者口腔护理主要目的(). [问答题,简答题] 初步设计阶段应标识哪些内容? [判断题] 爆炸上限和爆炸下限的差值大于或者等于20%的介质称为易爆介质. [单选] 重度中暑患者浸浴的冷水 ...

  4. 计算机网络简答题汇总,大学计算机基础简答题汇总(题库)

    答:母版是所有幻灯片的底版.使用母版的作用是用来设置文稿中的每张幻灯片的预设格式,这些格式包括每张幻灯片的标题及正文文字的位置和大小.项目符号的样式.背景图案等.由于一套幻灯片受到同一母版的主控,幻灯 ...

  5. 大学计算机基础知识简答题,大学计算机基础简答题汇总(题库).doc

    计算机与信息表示基础习题 四.简答题? 1.?简述计算机的发展历程?? 答:(1)第一代:1946---1958年,电子管计算机: (2)第二代:1958---1964年,晶体管计算机: (3)第三代 ...

  6. 【菜鸟教程】Python 100例编程题--适合新手(1)

    菜鸟教程100例题的解答,python 3.7及jupyter notebook实现,可能代码并不是最简洁的,但一定通俗易懂,适合新手阅读. 题目及代码如下: 1.题目:有四个数字:1.2.3.4,能 ...

  7. python入门作业编程题-Python编程:从入门到实践——【作业】——第六章(字典)...

    第六章作业 6-1人 : 使用一个字典来存储一个熟人的信息, 包括名. 姓. 年龄和居住的城市. 该字典应包含键first_name . last_name . age 和city . 将存储在该字典 ...

  8. python入门作业编程题-【python基础语法】第10天作业练习题

    """1.类属性怎么定义? 实例属性怎么定义?什么属性适合定义位类属性,什么属性时候定义成实例属性(简答) 类属性定义:直接定义在类里面的变量,叫做类属性 实例属性定义: ...

  9. 大一python简答题_Python练习题及参考答案

    间代码进行解释运行.因此使用 Python 编写的程序不需要翻译成二进制的机器语言,而是 直接从源代码运行,过程如图 1-3 所示. 图 1-3 Python 程序的运行过程 2 .答: ( 1 )简 ...

  10. 【python】pythonPTA编程题练习

    文章目录 7-2 计算某天距元旦的天数 6-1 python函数:求m到n之和 6-2 python函数:递归求Fabonacci数列 7-1 企业根据利润提成发放奖金问题 7-3 温度转换 7-4 ...

最新文章

  1. UI产品设计流程中的14个要点
  2. 我做的4周岁儿童编程课程【视频】分享
  3. python方向-零基础转行Python,往这个方向走,绝对没有错
  4. 01-1. 最大子列和问题
  5. unity游戏中提示信息如何实现_Unity编辑器操作面试题集锦(上)
  6. netflix 模式创新_创新设计模式:单例模式
  7. WARNING: Your kernel does not support swap limit capabilities. Limitation discarded.
  8. 算法列表-java实现
  9. Atitit 提取sfit特征点,并绘制到原图上
  10. 高一数学计算机教材,高一数学的教学计划
  11. 人脸识别 android demo,Android集成人脸识别demo分享
  12. 各代iphone尺寸_iPhone每一代的屏幕尺寸比例是多少?
  13. VUE 学习中的疑问
  14. 分布式自增序列id的实现(二) ---分布式序号生成器---基于Redis的自增功能
  15. python诗歌文件格式处理_Python诗歌的依赖版本语法
  16. 推销计算机作文题目怎么写,怎样让作文题目吸引人 吸引人的作文题目怎么写...
  17. modbus寄存器、功能码、报文结构解析
  18. 怎么把图片转PDF格式?转换方法分享
  19. ALLEGRO PCB design GXL软件的菜单解释
  20. 如何用ajax实现页面自动刷新,Ajax实现页面自动刷新实例解析

热门文章

  1. 喜讯!云效度量能力获信通院先进级评估
  2. 如何用手机连接无线网络
  3. 家谱编修制作软件修十大优势
  4. 可测函数积分的进一步性质
  5. Python3 语音识别谷歌验证码
  6. 网易云音乐评论功能实现(数据库设计)
  7. 锯齿波调制的FMCW雷达差拍信号的推导及分析
  8. 人间繁华江上明月,乃浮生一梦,惟真情长在——读沈君山《浮生再记》(并转书评)...
  9. excel查找空值快捷键_Excel之定位和查找(一)
  10. 计算机专业 论文检索,如何检索计算机专业论文文献