Python全栈考试(一)

1、执行 Python 脚本的两种方式

你也可以用PyCharm

2、简述位、字节的关系

数据存储是以“字节”(Byte)为单位,数据传输是以大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B)

3、简述 ascii、unicode、utf--‐8、gbk 的关系

ASCII码最多只能表示 255 个符号

unicode最多只能表示65536个字符

utf--‐8是对Unicode编码的压缩和优化:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

gbk是汉字内码扩展规范

4、请写出  “李杰”  分别用 utf--8 和 gbk 编码所占的位数

用utf-8占48位

用gbk占32位 

5、Pyhton 单行注释和多行注释分别用什么?

python中单行注释采用 # 开头

python 中多行注释使用三个单引号(‘‘‘)或三个双引号(""")

6、声明变量注意事项有那些?

(1.) 变量名只能是 字母、数字或下划线的任意组合

(2.)变量名的第一个字符不能是数字

(3.)以下关键字不能声明为变量名

[‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]

8、如何查看变量在内存中的地址?

id(变量名)

9、执行 Python 程序时,自动生成的  .pyc  文件的作用是什么?

运行Python程序,PyCodeObject编译保存文件,.pyc文件是PyCodeObject永久性保存文件

10、

写代码
    a.实现用户输入用户名和密码,当用户名为  seven  且  密码为  123  时,显示登陆成功,否则登陆失败!

name = input("name:")#输入账号passwd = input("passwd:")#输入密码

if name == "seven" and  passwd ==  "123":#判断用户名和密码是否相等    print("登陆成功")

else:    print("用户名或密码不正确,请重新输入!")

教训: python中break,continue只能用于for,while这样的循环中,不然会报错。

b.实现用户输入用户名和密码,当用户名为  seven  且  密码为  123  时,显示登陆成功,否则登陆失败,失败时允许重复输入三次

for i in range(3):    name = input("name:")#输入账号    passwd = input("passwd:")#输入密码

if name == "seven" and  passwd ==  "123":#判断用户名和密码是否相等        print("登陆成功")

else:    print("用户名或密码不正确,请重新输入!")

c.实现用户输入用户名和密码,当用户名为  seven  或  alex  且  密码为  123  时,显示登陆成功,否则登陆失败,失败时允许重复输入三次

for i in range(3):    name = input("name:")#输入账号    passwd = input("passwd:")#输入密码

if name == "seven"  or name == "alex"  and  passwd ==  "123":#判断用户名和密码是否相等        print("登陆成功")

else:    print("用户名或密码不正确,请重新输入!")

11、写代码
    a.  使用 while 循环实现输出 2  -‐  3  +  4  ‐  5  +  6  ...  +  100  的和

i = 2;j=0;while   i <= 100:    if(i%2 == 0):        j = j + i;    else:        j = j - i;    i+=1;print(j);

b.  使用 for 循环和 range 实现输出  1  ‐  2  +  3 ‐  4  +  5  -‐  6  ...  +  99  的和

b = 0for i in range(1,100):    if i%2 == 0:        b = b - i    else:        b = b +i    i +=1print(b)

c.  使用 while 循环实现输出  1,2,3,4,5,   7,8,9,    11,12

i=0;while i<12:    i+=1;    if(i == 6 or i == 10 ):        print("\t",end="  ");        continue;    print(i,",",end="");

d.  使用 while 循环实现输出  1‐100  内的所有奇数

i=1while i <=100:    if(i%2 !=0 ):        print(i)    i+=1

e.  使用 while 循环实现输出  1‐100  内的所有偶数

i=1

while i <=100:    if(i%2 ==0 ):        print(i)    i+=1

12、分别书写数字 5,10,32,7 的二进制表示

5:0000 0101   10:0000 1010   32:0010 0000  7:0000 0111

13、简述对象和  类的关系(可用比喻的手法)

类就是文件夹,对象就是文件夹的文件  类有列表,元组,字典等 里面的元素就是对象

14、现有如下两个变量,请简述 n1 和 n2 是什么关系?

n1 = 123

n2 = 123

内存地址一样

python内部的优化: -5157之间的赋值变量都是相同的地址,超过这个限制内存地址不同。

15、现有如下两个变量,请简述 n1 和 n2 是什么关系?

n1 = 123456

n2 = 123456

内存地址不一样

16、现有如下两个变量,请简述 n1 和 n2 是什么关系?

n1 = 123456

n2 = n1

内存地址一样

17、如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?

print(int(5).bit_length()); #3个

18、布尔值分别有什么?

真或假

  1 或 0

19、阅读代码,请写出执行结果
    
    a  =  "alex"
    b  =  a.capitalize()
    print(a)
    print(b)
    请写出输出结果: alex  Alex

20、写代码,有如下变量,请按照要求实现每个功能
    
    name  =  "  aleX"
a.  移除 name 变量对应的值两边的空格,并输入移除有的内容

name.strip()

b.  判断 name 变量对应的值是否以  "al"  开头,并输出结果

print(name.startswith("al"))  #False
    c.  判断 name 变量对应的值是否以  "X"  结尾,并输出结果

print(name.endswith("X"))     #True
    d.  将 name 变量对应的值中的  “l”  替换为  “p” ,并输出结果

print(name.replace("l","p"))   # apeX
    e.  将 name 变量对应的值根据  “l”  分割,并输出结果。
  print(name.split("l"))   #[‘ a‘, ‘eX‘]     
    f.  请问,上一题  e  分割之后得到值是什么类型?

列表
    g.  将 name 变量对应的值变大写,并输出结果

print(name.upper())    #ALEX
    h.  将 name 变量对应的值变小写,并输出结果

print(name.lower())    #alex
    i.  请输出 name 变量对应的值的第 2 个字符?

print(name[1]) #a

j.  请输出 name 变量对应的值的前 3 个字符?

print(name[0:3])       #al

k.  请输出 name 变量对应的值的后 2 个字符?

print(name[-2:])       #eX

l.  请输出 name 变量对应的值中  “e”  所在索引位置?

print(name.find("e"))    #3

21、字符串是否可迭代?如可以请使用 for 循环每一个元素?
name = "zhangsunan"
for i in name:
    print(i)

22、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li = [‘alex‘, ‘eric‘, ‘rain‘] 

li2= li[0]+"_"+li[1]+"_"+li[2]

22、写代码,有如下列表,按照要求实现每一个功能
    
    li  =  [‘alex‘,  ‘eric‘,  ‘rain‘]  
    a.  计算列表长度并输出

print(len(li))  #3

b.  列表中追加元素  “seven” ,并输出添加后的列表

li.append("seven")
#[‘alex‘, ‘eric‘, ‘rain‘, ‘seven‘]

c.  请在列表的第  1  个位置插入元素  “Tony” ,并输出添加后的列表

li.insert(0,"Tony")
#[‘Tony‘, ‘alex‘, ‘eric‘, ‘rain‘]

d.  请修改列表第  2  个位置的元素为  “Kelly” ,并输出修改后的列表

li[1]="Kelly"
#[‘alex‘, ‘Kelly‘, ‘rain‘]

e.  请删除列表中的元素  “eric” ,并输出修改后的列表

li = [‘alex‘, ‘eric‘, ‘rain‘]li.remove(‘eric‘)print(li)#[‘alex‘, ‘rain‘]

f.  请删除列表中的第  2  个元素,并输出删除的元素的值和删除元素后的列表

print(li.pop(1))
#eric
#[‘alex‘, ‘rain‘]

g.  请删除列表中的第  3  个元素,并输出删除元素后的列表

li.pop(2)
#[‘alex‘, ‘eric‘]

h.  请删除列表中的第  2 至 4 个元素,并输出删除元素后的列表

del li[1:3]
#[‘alex‘, ‘nimeide‘]

i.  请将列表所有的元素反转,并输出反转后的列表

li.reverse()
#[‘nimeide‘, ‘rain‘, ‘eric‘, ‘alex‘]

j.  请使用 for、len、range 输出列表的索引

for i in range(len(li)):
    print(i,li[i]);
#0 alex
#1 eric
#2 rain
#3 nimeide

k.  请使用 enumrate 输出列表元素和序号(序号从 100 开始)

for i, j in enumerate(li):
    print(i+100, j)

#100 alex
#101 eric
#102 rain
#103 nimeide

l.  请使用 for 循环输出列表的所有元素

for i in  range(len(li)):
    print(li[i]);

23、写代码,有如下列表,请按照功能要求实现每一个功能
    li  =  ["hello",  ‘seven‘,  ["mon",  ["h",  "kelly"],  ‘all‘],  123,  446]
    a.  请输出  “Kelly”

print(li[2][1][1])

b.  请使用索引找到  ‘all‘  元素并将其修改为  “ALL”

print(li[2][2].upper())

24、写代码,有如下元组,按照要求实现每一个功能tu = (‘alex‘, ‘eric‘, ‘rain‘)

a. 计算元组长度并输出

print(len(tu))     #3

b. 获取元组的第 2 个元素,并输出
print(tu[1])c. 获取元组的第 1-2 个元素,并输出
print(tu[0:2])d. 请使用 for 输出元组的元素
for i in range(len(tu)):
    print(tu[i])e. 请使用 for、len、range 输出元组的索引
for i in range(len(tu)):
    print(i,tu[i])f. 请使用 enumrate 输出元祖元素和序号(序号从 10 开始)
for i,j in enumerate(tu):
    print(i+10,j)

25、有如下变量,请实现要求的功能 tu = ("alex", [11, 22, {"k1": ‘v1‘, "k2": ["age", "name"], "k3": (11,22,33)}, 44])a. 讲述元祖的特性不可修改,所以又叫不可变列表 b. 请问 tu 变量中的第一个元素 “alex” 是否可被修改?不可以修改 c. 请问 tu 变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”可以修改,是列表
tu[1][2]["k1"] = "seven"d. 请问 tu 变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”
tu[1][2]["k3"]=list(tu[1][2]["k3"])
tu[1][2]["k3"].append("Seven")
tu[1][2]["k3"]=tuple(tu[1][2]["k3"])print(tu)

26、字典 dic = {‘k1‘: "v1", "k2": "v2", "k3": [11,22,33]}a. 请循环输出所有的 key 
for i in dic.keys():
    print(i)b. 请循环输出所有的 value
for i in dic.values():
    print(i)c. 请循环输出所有的 key 和 value
for i,j in dic.items():
    print(i,j)d. 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
dic["k4"] = "v4"
#{‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘, ‘k3‘: [11, 22, 33], ‘k4‘: ‘v4‘}e. 请在修改字典中 “k1” 对应的值为 “alex”,输出修改后的字典
dic["k1"] = "alex"
#{‘k1‘: ‘alex‘, ‘k3‘: [11, 22, 33], ‘k2‘: ‘v2‘}f. 请在 k3 对应的值中追加一个元素 44,输出修改后的字典
dic["k3"].append(44)
#{‘k1‘: ‘v1‘, ‘k3‘: [11, 22, 33, 44], ‘k2‘: ‘v2‘}
g. 请在 k3 对应的值的第 1 个位置插入个元素 18,输出修改后的字典
dic["k3"].insert(0,18)
#{‘k3‘: [‘18‘, 11, 22, 33], ‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘}27、转换 a. 将字符串 s = "alex" 转换成列表
print(list(s))b. 将字符串 s = "alex" 转换成元祖
print(tuple(s))c. 将列表 li = ["alex", "seven"] 转换成元组
print(tuple(li))d.将元祖 tu = (‘Alex‘, "seven") 转换成列表
print(list(tu))e.将列表 li = ["alex", "seven"] 转换成字典且字典的 key 按照 10 开始向后递增
li2 = [10,11]
print(dict(zip(li2,li)))

28、转码

n = "老男孩"

a. 将字符串转换成 utf-8 编码的字节,并输出,然后将该字节再转换成 utf-8 编码字符串,再输出

sstr=n.encode("UTF-8")
sstr.decode("UTF-8")
print(sstr)b. 将字符串转换成 gbk 编码的字节,并输出,然后将该字节再转换成 gbk 编码字符串,再输出
sstr=n.encode("GBK")
print(sstr.decode("GBK"))



 
时间: 2024-10-17 15:16:23

Python全栈考试(一)的相关文章

Python全栈考试-部分试题(精选)

Python全栈考试(一) Python全栈考试(一) 1.执行 Python 脚本的两种方式 答:1.>>python ../pyhton.py 2. >>python.py   #必须在首行有 #!/usr/bin/env python3 指定执行语言 2.简述位.字节的关系 答:一个字节(byte)=8位(bit)  位为最小的单位 3.简述 ascii.unicode.utf-8.gbk 的关系 ascii:只能表示256个符号 unicode:万国码,各国都有 需要有2位

python全栈考试

1.执行 Python 脚本的两种方式 终端和交互模式 方法1:python helloword.py 2.简述位.字节的关系 1 Byte = 8 bit1 bit = 1/8 Byte1字节=8位1位=1/8字节 3.简述 ascii.unicode.utf-8.gbk 的关系 unicode:包含所有国家的字符编码 utf-8可变长的字符编码,英文表示一个字节,中文表示3个字节 ascii美国标志信息交换代码,是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,一个字符占

python 全栈开发,Day30(第一次面向对象考试)

月考题: python 全栈11期月考题 一 基础知识:(70分) 1.文件操作有哪些模式?请简述各模式的作用(2分) 2.详细说明tuple.list.dict的用法,以及它们的特点(3分) 3.解释生成器(generator)与函数的不同,并实现且使用简单generator(3分) 4.如何理解lambda函数/表达式(2分) 5.a=10 b=20 def test(a,b): print(a,b) c = test(b,a) print(c) 上述代码中,打印出来的值a,b,c分别是什么

python全栈和python自动化课程的区别在哪?

老男孩算是国内组早的做python培训的机构了,下面小编对于python自动化课程及全栈课程做了一个总结,希望能帮到你们: python全栈开发: 适合人群:应届本科生,专科,及零基础学员学习基础:0基础上课形式:脱产5个月,周一至周五上课课程内容:linux基础知识,python基础知识,网络编程,数据库应用,web开发,算法设计模式项目实战:博客系统开发,CRM系统开发,CMDB开发,主机开发管理,爬虫开发,金融量化交易项目开发未来发展方向:python全栈开发工程师就业方向:python爬

Python全栈开发【基础三】

Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 1 def 函数名(参数): 2 3 ... 4 函数体 5 ... 6 返回值 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行一系列的逻辑计算 参数:为函数体提供数据 返回值:当函数执行完毕后,可以给调用者返回数据. 总结使用函数的好处: 1.减少代码重用 2.保持一致性,易维护

Python全栈开发【第一篇】:初识Python

Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与while循环练习题 基本数据类型前引 Python 的种类 Cpython Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上. Jyhton Python的Java实现,Jython会将Pyth

Python全栈开发

Python全栈开发 一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了. 一.装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator),装饰器的功能非常强大,但是理解起来有些困难,因此我尽量用最简单的例子一步步的说明这个原理. 1.不带参数的装饰器 假设我定义了一个函数f,想要在不改变原来函数定义的情况下,在函数运行前打印出start,函数运行后打印出end,要实现这样一个功能该怎么实现?看下面如何用

Python全栈开发【基础二】

Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 编码与进制转换 Python 运算符 1.算术运算: 2.比较运算: 3.赋值运算: 4.逻辑运算:  5.成员运算: 基本数据类型 1.数字 int(整型) 1 class int(object): 2 """ 3 int(x=0) -> integer 4 int(x, base=10) -&g

51CTO - 老男孩python全栈心路

转眼入学都两个月了,自从参加老男孩python全栈的课以来,感觉收获很多. 一.为什么参加培训 我是非计算机专业毕业的,有那么几年的工作经验,之前都是依靠自学,所谓的野路子出身.刚开始还好,目标就是查资料,解决问题. 但后来随着工作年限的积累,别人的工资都蹭蹭蹭的往上涨,而我只能一点点的往上挪.心中难免不服气,比我牛的比我工资高我也就认了,为啥那些没我有经验的,水平不如我的工资也可以比我高? 后来发现,人家都说科班出身的,用了四年的时间来打基础,而我只能是遇到问题临时抱佛脚.心理平衡了,自然就要