• 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 = 0
    for i in range(1,100):
    if i%2 == 0:
    b = b - i
    else:
    b = b +i
    i +=1
    print(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(" ",end=" ");
    continue;
    print(i,",",end="");


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

    i=1
    while 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"))






     
  • 相关阅读:
    OpenJudge百炼习题解答(C++)--题4010:2011
    Centos6.5卸载图形化
    nfs远程挂载问题记录
    走马观花-浪里跳-学习英文
    weblogic部署存在中文乱码导致部署失败
    KMS11激活Window系列
    mysql8.x开启远程登录
    notepad++插件实现json、xml格式化
    RHEL SHELL快捷键
    linux-env命令解析
  • 原文地址:https://www.cnblogs.com/zhangsunan/p/6648933.html
Copyright © 2020-2023  润新知