• Python试题(1)


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

    源文件方式,交互方式

    2,  简述位、字节的关系

    1字节=8位

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

             ASCII,gbk,Unicode,utf-8,向下兼容

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

             李杰:utf-8 6个字节=48bit

             李杰:GBK 4个字节=32bit

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

             单行注释用# 多行注释用’’’ ‘’’

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

             开头为字母或下划线,不能使用关键字

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

             Id(变量名)

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

             .pyc文件是由.py文件经过编译后生成的字节码文件,加载速度有所提高,可以实现

    源码隐藏。

    10、写代码

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

    #author:徐征
    usre="seven"
    pwd="123"

    username = input("用户名:")
    password = input("密码:")
    if username == usre and password == pwd:
        print("登陆成功!")
    else:
        print("登陆失败!")

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

    #author=徐征
    usre="seven"
    pwd="123"
    i = 0
    for i in range(10):
        if i < 3:
            username = input("用户名:")
            password = input("密码:")
            if username == usre and password == pwd:
                print("登陆成功!")
            else:
                print("登陆失败!")
        else:
            print("不知道就走开!")
            break
       
    i +=1

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

            #author=徐征
    usre="seven"
    usre1="alex"
    pwd="123"
    i = 0
    for i in range(10):
        if i < 3:
            username = input("用户名:")
            password = input("密码:")
            if username == usre or username == usre1 and password == pwd:
                print("登陆成功!")
                exit()
            else:
                print("登陆失败!")
        else:
            print("不知道就走开!")
            break
       
    i +=1

    11、写代码

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

      a = 2
    b = 0
    while a <= 100:
        if a%2 == 0:
            b = b + a
        else:
            b = b - a
        a +=1
    print(b)

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

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

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

    #author:徐征
    while True:
        for i in range(1,13):
            if i != 6 and i != 10:
                print(i)
        break

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

    while True:
        for i in range(1,100):
            if i % 2 == 1:
                print(i)
        break

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

    while True:
        for i in range(1,101):
            if i % 2 == 0:
                print(i)
        break

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

             5       =       101

             10     =       1010

             32     =       100000

             7       =       111

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

             我买了一袋水果,里面有苹果,香蕉

             水果就是类,苹果香蕉就是对象

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

        n1  =  123

    n2  =  123

    n1 与n2 赋的值是相同的,id地址相同

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

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

        n1  =  123456

    n2  =  123456

    n1 与n2 赋的值是相同的,ID地址不同

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

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

        n1  =  123456

    n2  =  n1

    给n1赋值之后给n2赋同一个值,之后改变n1的值,n2不变

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

     print(int(n1).bit_length())

    18、布尔值分别有什么?

            布尔值 包括true和false两个值。在二进制中的0、1。在很多情况下,0被认为是 False,所有的非0 值均被认为是 True

    19、阅读代码,请写出执行结果

        

        a  =  "alex"

        b  =  a.capitalize()

        print(a)

        print(b)

    请写出输出结果:

              alex

     AlEX 

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

        

        name  =  "  aleX"

    1. 移除 name 变量对应的值两边的空格,并输入移除有的内容     print(name.strip())
    2. 判断 name 变量对应的值是否以  "X"  结尾,并输出结果  print(name[0:2])
    3. 将 name 变量对应的值中的  “l”  替换为  “p”,并输出结果    print(name[-1])
    4. 将 name 变量对应的值根据  “l”  分割,并输出结果。     name = name[:2]+"p"+name[-2:]     print(name)
    5. 请问,上一题  e  分割之后得到值是什么类型?   字符串
    6. 判断 name 变量对应的值是否以  "al"  开头,并输出结果
    name1 = name[:2]
    name2 = name[-2:]
    print(name1,name2)
    1. 将 name 变量对应的值变大写,并输出结果

    print(name.upper())

    1. 将 name 变量对应的值变小写,并输出结果
    print(name.lower())

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

           Print(name[2])

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

            Print(name[0:4])

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

      Print(name[-3:-1])

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

           Print(name.index(“e”))

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

    name =" aleX"
    for i in name:
        print(i)

    22、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li  =  ['alex',  'eric',  'rain']  
    b = li[0] + "_" + li[1] + "_" + li[2]
    print(b)

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

        

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

    1. 计算列表长度并输出 print(len(li))
    2. 列表中追加元素  “seven”,并输出添加后的列表
    li.append("seven")
    print(li)

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

       li.insert(0,"seven")
    print(li)

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

      li[1] = "Tony"
    print(li)

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

      li.remove('eric')
    print(li)

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

      print(li.pop(1))

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

      li.pop(2)
    print(li)

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

      for i in range(3):
            li.pop(1)
        print(li)

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

      b = list(reversed(li))
    print(b)

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

      for i in range(len(li)):
             print(i)

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

      for i,name in enumerate(li,100):
             print(i,name)

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

        for i in li:
         print(i)

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

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

        a.  请输出  “Kelly”

     name = str(li[2][1][1])
    print(name.capitalize())

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

        name = str(li[2][2])
    print(name.upper())

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

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

    1. 计算元组长度并输出

    print(len(tu))

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

    print(tu[1])

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

    print(tu[:2])

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

      for i in tu:

            print(i)

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

    for i in range(len(tu)):

        print(i)

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

    for i,name in enumerate(tu,10):

        print(i,name)

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

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

    1. 讲述元祖的特性

    不可修改

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

    不可以修改

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

           是列表类型,可以被修改

      b = tu[1][2]["k2"] = [].append("Seven")

      print(tu)

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

    b = list(tu[1][2]["k3"])

    b.append("seven")

    tu[1][2]["k3"] = tuple(b)

    print(tu)

    26、字典

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

    1. 请循环输出所有的 key

    For I in dic.keys()

    Print(i)

        b.  请循环输出所有的 value

     For I in dic.values()

    Print(i)

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

    For I in dic.keys()

    Print(I,dic[i])

    1. 请在字典中添加一个键值对,"k4":  "v4",输出添加后的字典
    dic.setdefault("k4","v4")
    print(dic)
    {'k2': 'v2', 'k3': [11, 22, 33], 'k1': 'v1', 'k4': 'v4'}
    2.请在修改字典中  “k1”  对应的值为  “alex”,输出修改后的字
        dic["k1"] = "alex"
        print(dic)

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

    1. 请在 k3 对应的值中追加一个元素  44,输出修改后的字典
          i = list(dic["k3"])
    i.append(44)
    dic["k3"] = i
    print(dic)
    {'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33, 44]}
    2.请在 k3 对应的值的第  1  个位置插入个元素  18,输出修改后的字典
    i = list(dic["k3"])
    i.insert(0,18)
    dic["k3"] = i
    print(dic)

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

    27、转换

        

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

     print(list(s))

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

     print(tuple(s))

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

     print(tuple(list(li)))

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

    print(list(tu))

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

    li = ["alex", "seven"]

    dict = {}

    for i,name in enumerate(li,10):

        dict[i] = name

    print(dict)

    27、转码

        n  =  "老男孩"

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

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

    print(n.encode(encoding="utf-8").decode(encoding="utf-8"))

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

         print(n.encode(encoding="gbk"))

    print(n.encode(encoding="gbk").decode(encoding="gbk"))

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

    a = 0
    for i in range(0,101):
        a = a + i
    print(a)

    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]
    b = []
    c = []
    for i in a:
        if i >66:
            b.append(i)
        else:
            c.append(i)
    x = {"k1":c,"k2":b}
    print(x)

    {'k1': [11, 22, 33, 44, 55, 66], 'k2': [77, 88, 99]}

    30、购物车

        功能要求:

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

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

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

        goods  =  [

            {"name":  "电脑",  "price":  1999},

            {"name":  "鼠标",  "price":  10},

            {"name":  "游艇",  "price":  20},

            {"name":  "美女",  "price":  998},

    ]

    #author:徐征
    money = input('老铁带了多少钱来潇洒:')
    money = int(money)
    product_list = ['电脑','鼠标','游艇','美女']#货物列表
    prices_list = [1999,10,20,998]#价格列表
    if money < min(prices_list):#把输入的钱和货物最小的价格作比较
       
    print("店里的宝贝你买不起,回家拿钱去吧!")
        exit()#钱没带够就走吧
    else:
        print("欢迎光临小黑店! 本店商品都有:")
    shopping_cart = []#做一个空列表为购物车
    shopping_prices = []
    while True:
        for i in range (0,len(product_list)):#用循环输出列表
           
    print(str(i+1),product_list[i],prices_list[i])#打印货物和价格
       
    user_select = input('客官你想来点什么>>:')
        if (user_select != "q" and user_select != "Q"):#判断用户的输入
           
    try:
                user_select = int(user_select)-1
                us = product_list[user_select]
                shopping_prices.append(prices_list[user_select])#把用户选择的货物价格放入购物车
            
    except:
                if(product_list.count(user_select) > 0):
                    shopping_prices.append(prices_list[product_list.index(user_select)])
                    us = user_select
                else:#如果输入的货物不在列表上,就重新循环输入
                   
    print("别搞笑好吗")
                    continue
            if
    (len(shopping_cart)==0):
                shopping_cart.append(us)
            else:
                if(sum(shopping_prices)> money):#判断购物车的货物总值是否大于带的钱
                   
    print("老铁你买不起,你还差" , (sum(shopping_prices)-money) , "美元")
                    shopping_prices.pop(-1)#把最后加入购物车的货物删去
               
    else:
                    shopping_cart.append(us)#将货物加入购物车
           
    print("余额:",money-sum(shopping_prices),"美元")
        else:
            break
    print("---------老铁你买了--------")#显示购物车的全部货物
    print("id" + " " + "商品" + " " + "单价")

    for i in range(0, len(shopping_cart)):
        print(str(i+1) + " " + str(shopping_cart[i]) + " " + str(shopping_prices[i]))#同上打印货物与价格列表
    print("加一块总共:",sum(shopping_prices),"美元")
    print("老铁你还有:",money-sum(shopping_prices),"美元")
    print("再来哟,老铁!")
    print("--------end--------")
  • 相关阅读:
    SpringCloud 超大文件上传解决方案:分片断点上传(一)
    SpringMVC 超大文件上传解决方案:分片断点上传(一)
    JSP 超大文件上传解决方案:分片断点上传(一)
    PHP 超大文件上传解决方案:分片断点上传(一)
    JavaScript 超大文件上传解决方案:分片断点上传(一)
    JS 超大文件上传解决方案:分片断点上传(一)
    VUE 超大文件上传解决方案:分片断点上传(一)
    B/S 超大文件上传解决方案:分片断点上传(一)
    poj 2115 Looooops
    hdu 2669 Romantic
  • 原文地址:https://www.cnblogs.com/xuzheng940806/p/6653179.html
Copyright © 2020-2023  润新知