• python练习题-day14


    一、选择题

    1. python不支持的数据类型有:
    A. char
    B. int
    C. float
    D. list

    ans:A

    2.x = ‘foo’
    y = 2
    print(x + y)

    A. foo
    B. foofoo
    C. foo2
    D. 2
    E. An exception is thrown

    ans:E

    3. 关于字符串下列说法错误的是 ()
    A. 字符应该视为长度为1的字符串
    B. 字符串以标志字符串的结束
    C. 既可以用单引号,也可以用双引号创建字符串
    D. 在三引号字符串中可以包含换行回车等特殊字符

    ans:B

    4.以下不能创建一个字典的语句是 ()
    A. dic1 = {}
    B. dic2 = {123:345}
    C. dic3 = {[123]:'uestc'}
    D. dic4 = {(1,2,3):'uestc'}

    ans:C

    5.()

    kvps = {'1':1,'2':2}
    theCopy = kvps
    kvps['1'] = 5
    sum = kvps['1'] + theCopy['1']
    print(sum)
    A. 1
    B. 2
    C. 7
    D. 10

    ans:D

    6.以下何者是不合法的布尔表达式 ()
    A. x in range(6)
    B. 3 = a
    C. e > 5 and 4 == f
    D. (x - 6) > 5

    ans:B

    7.下列表达式的值为True的是 ()
    A. 5+4j > 2-3j
    B. 3>2==2 (3>2 and 2 == 2)
    C. e>5 and 4 == f
    D. (x-6)>5

    ans:B

    8.已知x = 43,ch = 'A', y = 1,则表达式(x >= y and ch < 'b' and y)的值是 ()
    A. 0
    B. 1
    C. 出错
    D. True

    ans:B

    9.下列表达式中返回为True的是 ()
    A. 3 > 2 > 2
    B. 'abc' > 'xyz' (‘abc’< ’xyz’)
    C. 0x56 > 56
    D. (3,2) > ('a','b') (元组不能比较大小)

    ans:C

    10.下列Python语句正确的是(多选) ()
    A. min = x if x < y else y
    B. max = x > y ? x : y (C语言里的,python里不对)
    C. if (x>y) print(x) (没有冒号)
    D. while True :pass

    ans:AD

    11.若k为整型,下列while循环执行的次数为 ()

    k = 1000
    while k > 1:
        print k    (注意:通过这个语句说明是在python2环境下)
        k = k /2


    A. 9 (python2)--(python2中 / 结果为整)
    B. 10 (python3)--(python3中 / 结果保留小数)
    C.11
    D. 100

    ans:A

    12.以下叙述正确的是 ()
    A. continue语句的作用是结束整个循环的执行
    B. 只能在循环体内使用break语句
    C. 在循环体内使用break或continue语句的作用相同
    D. 从多层循环嵌套中退出是,只能用使用goto语句 (C语言是这样)

    ans:B

    13.关于python中的复数,下列说法错误的是 ()
    A. 表示复数的语法是real+image j (real + imag j)
    B. 实部和虚部都是浮点数
    C. 虚部必须后缀j且j不区分大小写
    D. 方法conjugate返回复数的共轭复数

    ans:A

    14. 下面的语句哪个会无限循环下去 ()

    A. for a in range(10):
        time.sleep(10)
    B. while 1<10:
        time.sleep(10)
    C. while True:
        break
    D. a = [3,-1,’,’]
    for I in a[:]:
        if not a :
            break

    ans:B

    15.下面的代码,哪些会输出1,2,3,三个数字(多选)()

    A. for i in range(3):
        Print(i)            0,1,2
    B. aList = [0,1,2]
    for i in aList:
        print(i+1)        1,2,3
    C. i = 1
    while i<3:
        print(i)            1,2
        i+=1
    D. for i in range(3):
        Print(i+1)        1,2,3

    ans:BD

    16.python如何定义一个函数:()


    A. class <name>(<type>arg1, <type>arg2,…<type>argN)
    B. function <name>(arg1,arg2,…argN)
    C. def <name>(arg1,arg2,…argN)
    D. def <name>(<type>arg1, <type>arg2,…<type>argN)

    ans:C

    二、填空题

    1.以下函数需要在其中引用一个全局变量k,请填写语句:

    def fun():
        global k
        k = k + 1

    2. L = range(100)

    (1) 取第一到第三个元素
    (2) 取倒数第二个元素
    (3) 取后十个元素
    (4) 把L复制给L1

    (1)list(L)[:3]
    (2)list(L)[-2:-1]
    (3)list(L)[-10:]
    (4)L1=list(L)

    3. 判断dict有没有某key用的方法:

    ans:in

    4.获取list的元素个数方法:

    ans len(list)

    5. 以下代码的输出将是什么

    def extendList(val,list = []):
        list.append(val)
        return list
    list1 = extendList(10)
    list2 = extendList(123,[])
    list3 = extendList('a')
    print 'list1 = %s'%list1
    print 'list2 = %s'%list2
    print 'list3 = %s'%list3

    ans:[10,a]

    [123]

    [10,a]

    6.下面程序的输出结果是:

    x = True
    y = False
    z = False
    if x or y and x:
        print('yes')
    else:
        print('no')

    ans:yes

    三、简答题

    1. 如何判断一个变量是不是字符串

    type(s)

    2.is 和 == 的区别

    is 比较内存地址

    ==比较值

    3.python里面如何实现tuple和list的转换

    list(tuple)

    tuple(list)

    4.list和tuple有什么不同

    list 不可哈希

    tuple可哈希

    5.如何得到列表list的交集与差集

    list(set(list1)&set(list2))

    list(set(list1)-set(list2))

    6.python中定义函数时如何书写可变参数和默认参数

    def func(*args,默认参数)

    7.*args和**kwargs在什么情况下会使用到?请给出使用**kwargs的事例

    不确定参数个数

    *args是接收所有按照位置传参
    **kwargs是接收所有按照关键字传参
    事例:装饰器

    8. 请描述unicode,utf-8,gbk等编码之间的关系

    Unicode 万国码

    utf-8 一个英文一个字节一个中文三个字节 

    gbk 一个中文两个字节

    9.如何使用python删除一个文件

    import os

    OS.remove(file)

    10..def func(a,b,*args,c = 0,**kwargs):
    Pass
    *args,**kwargs的作用是什么?

    *args是接收所有按照位置传参
    **kwargs是接收所有按照关键字传参

    四、写代码

    1. d = {'a':1,'b':2,'c':3}请打印出key,value对

    for k in d:
        print(k,d.get(k))

    2.请写出一段python代码实现删除一个list里面的重复元素

    #方法一
    li = [1,2,3,4,1,2,5]
    print(set(li)
    #方法二
    for i in li:
        if li.count(i)>1:
            li.remove(i)
    #方法三
    li1=[]
    for i in li:
        if i not in li1:
            li1.append(i)
    li=li1

    3.使用python上机解决以下题目(13分)

    (1) 斐波那契数列1,1,2,3,5,8,13,21…根据这样的规律,编程求出400万以内最大的斐波那契数,并求出它是第几个斐波那契数

    num1=1
    num2=1
    sum=0
    count=2
    while num1+num2<4000001:
        sum=num1+num2
        num1=num2
        num2=sum
        count+=1
    print(count)

    (2)dicta = {‘a’:1,’b’:2,’c’:3,’d’:4,’f’:’hello’}
    dictb = {‘b’:3,’d’:5,’e’:7,’m’:9,’k’:’world’}
    要求写一段代码,实现两个字典的相加,不同的key对应的值保留,相同的key对应的值相加后保留,如果是字符串就拼接,如上示例得到的结果应为:

    dicta = {"a":1,"b":2,"c":3,"d":4,"f":"hello"}
    dictb= {"b":3,"d":5,"e":7,"m":9,"k":"world"}
    for i in dictb:
        if i in dicta:
            dicta[i]=dicta[i]+dictb[i]
    dictb.update(dicta)
    print(dictb)
    #方法二
    dicta = {"a":1,"b":2,"c":3,"d":4,"f":"hello"}
    dictb= {"b":3,"d":5,"e":7,"m":9,"k":"world"}
    dictc={}
    for i in dictb:
    if i in dicta:
    dictc[i]=dicta[i]+dictb[i]
    else:
    dictc[i]=dictb[i]
    for i in dicta:
    if i not in dictb:
    dictc[i]=dicta[i]
    print(dictc)

    5. 写一个装饰器,可以打印输出方法执行时长的信息

    import time
    def wrapper(fun):
        def inner(*args,**kwargs):
            s=time.time()
            ret=fun(*args,**kwargs)
            e=time.time()
            print(e-s)
            return ret
        return inner
    @wrapper
    def f(g):
        time.sleep(0.1)
        return "购买商品{}".format(g)
  • 相关阅读:
    C++ 派生类对象的构造与析构过程
    C++ lvalue(左值)和rvalue(右值)
    enum class 用法
    gcc 编译选项
    using用法总结
    const用法及与constexpr区别总结
    Lanbda表达式
    CMake 用法总结(转载)
    ElasticSearch学习文档
    Maven学习笔记
  • 原文地址:https://www.cnblogs.com/fumy/p/10438828.html
Copyright © 2020-2023  润新知