zoukankan      html  css  js  c++  java
  • Python_fullstack_test1

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

      使用交互式的带提示符的解释器或使用源文件

    2、简述位、字节的关系

      位是计算机中最小计量单位,用bit表示
      字节是计算机中最小存储单位,用Byte表示
      1字节=8位,即1Byte=8bit
    3、简述ASCII、unicode、utf-8、GBK的关系
      ASCII---->GBK---->unicode---->utf-8
    4、请写出“李杰”分别用utf-8和GBK编码所占的位数
      utf-8中占6位
      GBK中占4位
    5、python单行注释和多行注释分别用什么?
      单行注释:#
      多行注释三引号:""" """或''' '''
    6、声明变量注意事项有哪些?
      不能有空格或制表符
      数字不能开头
      规定的关键字不能用来声明为变量名
      变量只能是字母数字下滑线的任意组合
    7、如何查看变量在内存中的地址?
      id(#变量名)
    8、执行python程序时,自动生成的.pyc文件的作用是什么?
      .pyc是二进制文件是让计算机处理程序用的
    9、写代码
      a.实现用户输入用户名和密码,当用户名为  seven  且  密码为  123  时,显示登陆成功,否则登陆失败!

    user_name = input("input your username: ")
    password = int(input("input your password: "))
    if user_name == "seven" and password == 123:
        print ("登陆成功")
    else:
        print ("登录失败")
    

      

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

    count = 1
    while count <= 3:
        user_name = input("input your username: ")
        password = int(input("input your password: "))
        if user_name == "seven" and password == 123:
            print ("登陆成功")
            break
        else:
            print ("登录失败")
        count += 1
        continue
    print("hello boy!")
    

      

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

    count = 1
    while count <= 3:
        user_name = input("input your username: ")
        password = int(input("input your password: "))
        if user_name == "seven"or"alex" and password == 123:
            print ("登陆成功")
            break
        else:
            print ("登录失败")
        count += 1
        continue
    print("hello boy!")  

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

    count = 1
    a=0
    b=0
    while count < 100:
        count += 1
        if count%2 == 0:
            oushu = count
            sumoushu=a+count
            a=sumoushu
        else:
            jushu = count
            sumjishu=b+count
            b=sumjishu
    sum=a-b
    print(sum)
    

      


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

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

      

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

    i=0
    b=0
    while i<12:
        i+=1
        if i ==6 :
            continue
        if i ==10:
            continue
        print(i)
    

      

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

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

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

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

      

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

      5:00000101

      10:00001010

      32:00100000

      7:00000111

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

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

      id(n1)=id(n2),数值指向同一个内存地址

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

      n2  =  123456 

      id(n1)!=id(n2),数值指向同一个内存地址

      #默认只缓存1~255,这个范围内的相同的数字对应的变量id相等

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

       id(n1)=id(n2)!=id(123456)如果n1换一个新的值,n2还是123456,而且n2的id值保持不变

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

    18、布尔值分别有什么?

      True,False

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

        alex
        Alex

    20、写代码,有如下变量,请按照要求实现每个功能 

      name  =  " aleX" 

        a.  移除 name 变量对应的值两边的空格,并输入移除有的内容 

        print(name.strip())

        aleX

        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  分割之后得到值是什么类型?

        print(type(name.split("l")))

         <class "list"> 
        g.  将 name 变量对应的值变大写,并输出结果

        print(name.upper())

          ALEX 
        h.  将 name 变量对应的值变小写,并输出结果

        print(name.lower())

          alex 
        i.  请输出 name 变量对应的值的第 2 个字符?

        print(name[2])

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

        print(name[:3])

         al  

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

        print(name[3:])

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

        print(name.index("e"))

        3

    21、字符串是否可迭代?如可以请使用 for 循环每一个元素? 

        能

        name = "alex"

        for i in "alex":

          print (i)

        

        a

        l

        e

        x

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

        print("_".join(li))

        alex_eric_rain

    22、写代码,有如下列表,按照要求实现每一个功能 

      li  =  ['alex',  'eric',  'rain'] 

      a.  计算列表长度并输出

        print(len(li))

        3

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

        li.append("seven")

        print(li)

        ["alex","eric","rain","seven"]

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

         li.insert(1,"Tony")

        ["alex","Tony","eric","rain","seven"]

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

         li[2]="Kelly"

        ["alex","Tony","Kelly","rain","seven"]

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

        li.remove("eric")

        ["alex","Tony","rain","seven"]    

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

        print(li.pop(2))

        rain

        print(li)

        ["alex","eric"]

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

        del li [2]

        print (li)

        ["alex","eric"]

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

        li=["alex","Tony","eric","rain","seven"]

        del li[2:4]

        print (li)

        ["alex","Tony","seven"]    

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

        print(li.reverse())

        ["rain","eric","alex"]

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

        for i in range(len(li))

        0

        1

        2

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

        for i,number in enumerate(li,100)

          print(i,number)

        100 alex

        101 eric

        102 rain

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

         for i in li:

          print(i)

        alex

        eric

        rain

    23、写代码,有如下列表,请按照功能要求实现每一个功能

       li  =  ["hello",  'seven',  ["mon",  ["h",  "kelly"],  'all'],  123,  446] 

      a.  请输出  “Kelly”

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

        Kelly

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

        li[2][2]="ALL"

        print(li)

     24、写代码,有如下元组,按照要求实现每一个功能

      tu  =  ('alex',  'eric',  'rain') 

      a.  计算元组长度并输出

        print(len(tu))

        3

      b.  获取元组的第  2  个元素,并输出

        print(tu[1])

        eric

      c.  获取元组的第  1-­‐2  个元素,并输出

        print(tu[0:2])

        ("alex","eric")

      d.  请使用 for 输出元组的元素

        for i in tu:

          print(i)

        alex

        eric

        rain

      e.  请使用 for、len、range 输出元组的索引

        for i in range(len(tu)):

          print(i)

        0

        1

        2

      f.  请使用 enumrate 输出元祖元素和序号(序号从 10 开始)

        for i,number in enumerate(tu,10)

          print(i)

        10 alex

        11 eric

        12 rain

    25、有如下变量,请实现要求的功能

      tu  =  ("alex",  [11,  22,  {"k1":  'v1',  "k2":  ["age",  "name"],  "k3":  (11,22,33)},  44])

      a.  讲述元祖的特性 

        不可改变

      b.  请问 tu 变量中的第一个元素  “alex”  是否可被修改?

        可以被修改,但不建议修改

        li=list(tu)
        li[0]="aaa"
        tu=tuple(li)
        print(tu)

        ('aaa', [11, 22, {'k2': ['age', 'name'], 'k1': 'v1', 'k3': (11, 22, 33)}, 44])

      c.  请问 tu 变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素  “Seven”

        print(type(tu[1][2]["k2"]))

        <class 'list'>  

        li=list(tu)

        li[1][2]["k2"].append("seven")
        print(li)
        ['alex', [11, 22, {'k3': (11, 22, 33), 'k2': ['age', 'name', 'seven'], 'k1': 'v1'}, 44]]

      d.  请问 tu 变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素  “Seven”

        li=list(tu)     

        li[1][2]["k2"].append("seven")

        ['alex', [11, 22, {'k3': (11, 22, 33,'seven'), 'k2': ['age', 'name', 'seven'], 'k1': 'v1'}, 44]]

    26、字典

      dic  =  {'k1':  "v1",  "k2":  "v2",  "k3":  [11,22,33]} 

      a.  请循环输出所有的 key 

        print(dic.keys())

        dict_keys(['k1', 'k3', 'k2'])

      b.  请循环输出所有的 value 

          print(dic.values())

        dict_keys(['v1', 'v2', [11,22,33]])

      c.  请循环输出所有的 key 和 value 

        for key in dic:

          print(key,dic[key])

        k1 v1

        k2 v2

        k3 [11, 22, 33]

      d.  请在字典中添加一个键值对,"k4":  "v4",输出添加后的字典

        dic["k4"]="v4"

          print(dic)

        {'k4': 'v4', 'k2': 'v2', 'k3': [11, 22, 33], 'k1': 'v1'}

      e.  请在修改字典中  “k1”  对应的值为  “alex”,输出修改后的字典 

        dic["k1"]="alex"

          print(dic)

        {'k3': [11, 22, 33], 'k1': 'alex', 'k2': 'v2'}

      f.  请在 k3 对应的值中追加一个元素  44,输出修改后的字典 

          dic["k3"].append(44)

          print(dic)

        {'k3': [11, 22, 33, 44], 'k2': 'v2', 'k1': 'v1'}

      g.  请在 k3 对应的值的第  1  个位置插入个元素  18,输出修改后的字典 

        dic["k3"].insert(0,18)

          print(dic)

        {'k1': 'v1', 'k2': 'v2', 'k3': [18, 11, 22, 33]}

    27、转换

      a.  将字符串  s  =  "alex"  转换成列表

        list(s)

      b.  将字符串  s  =  "alex"  转换成元祖

        tuple(s)

      b.  将列表  li  =  ["alex",  "seven"]  转换成元组

        tuple(li)

      c.  将元祖  tu  =  ('Alex',  "seven")  转换成列表

        list(tu)

      d.  将列表  li  =  ["alex",  "seven"]  转换成字典且字典的 key 按照  10  开始向后递增 

          li = ["alex", "seven"]

        tu = [10,11]

        print(dict(zip(li,tu)))

        {'alex': 10, 'seven': 11}

    27、转码 

      n  =  "老男孩" 

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

        print(n.encode("utf-8"))

        m=n.encode("utf-8")

        print(m.decode("utf-8")) 

        b'xe8x80x81xe7x94xb7xe5xadxa9'
      老男孩

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

        rint(n.encode("gbk"))

        m=n.encode("gbk")

        print(m.decode("gbk"))

        b'xc0xcfxc4xd0xbaxa2'

        老男孩

    28、求 1-­‐100 内的所有数的和 

        sum=0

        for i in range(1,101):

          sum=sum+i

        print(sum)

        5050

    29、元素分类 

    有如下值集合  {11,22,33,44,55,66,77,88,99,90},将所有大于  66  的值保存至字典的第一个 key 中,将小于  66  的值保存至第二个 key 的值中。
        即:  {'k1':  大于 66 的所有值,  'k2':  小于 66 的所有值}

        a={11,22,33,44,55,66,77,88,99,90}

        b={"k1":[],"k2":[]}

        for i in a:
          if i > 66:
          b["k1"].append(i)
        elif i< 66:
          b["k2"].append(i)
        print(b)
        {'k2': [33, 11, 44, 22, 55], 'k1': [99, 77, 88, 90]}

    30、购物车

    功能要求:

    要求用户输入总资产,例如:2000 

    显示商品列表,让用户根据序号选择商品,加入购物车

    购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功

    goods  =  [
            {"name":  "电脑",  "price":  1999},

         {"name":  "鼠标",  "price":  10},
            {"name":  "游艇",  "price":  20},
            {"name":  "美女",  "price":  998},

        ]

  • 相关阅读:
    Cookie和Session机制详解
    MySQL数据库MyISAM和InnoDB存储引擎的比较
    MySQL索引背后的数据结构及算法原理
    Qt Meta Object System-元对象系统
    Qt事件处理机制
    学习STL-介绍一下STL
    为什么你有10年经验,但成不了专家?
    关于union的那些事儿
    关于enum的那些事儿
    三子棋局-挑战你的逻辑思维
  • 原文地址:https://www.cnblogs.com/wuyongqiang/p/6648347.html
Copyright © 2011-2022 走看看