专栏首页郭耀华‘s Blogpython练习题-day14

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. 字符串以\0标志字符串的结束 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)
#方法二

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)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在Windows下配置定时运行的Python脚本

    目前我们写出的Python代码,无论是jupyter notebook里还是变成.py格式的脚本,都是需要手动点按钮运行,但是在有些需要自动化定期运行脚本的情况...

    蛰虫始航
  • 配置点击就能运行Python程序的bat批处理脚本

    在编写和调试程序时,一般我们会在集成编辑环境里写代码和运行,但如果程序比较完善需要快速运行,或者让同事在其他电脑上快速运行时,再打开IDE(Integrated...

    蛰虫始航
  • 用Python实现透视表的value_sum和countdistinct功能

    在pandas库中实现Excel的数据透视表效果通常用的是df['a'].value_counts()这个函数,表示统计数据框(DataFrame) df的列a...

    蛰虫始航
  • Appium+python自动化(三十七)- 士兵突击许三多 - 多个appium服务启动,多个设备启动,多进程并发启动设备-并发测试 - 下(超详解)

    接着上一篇继续看一下如何并发测试以及并发测试的过程中,可能遇到的问题,在这里宏哥把宏哥遇到的和小伙伴或者童鞋们,一起分享一下。

    北京-宏哥
  • 判定表case的自动化用例设计

    大家好,小编今天和大家分享一个自己编写的自动化测试工具,主要解决的问题是如何遍历测试用例中“判定表”方法设计出来的case。

    用户5521279
  • 浅拷贝与深拷贝的实现方式、区别;deepcopy如果你来设计,如何实现

    今天小婷儿给大家分享的是浅拷贝与深拷贝的实现方式、区别;deepcopy如果你来设计,如何实现。

    小麦苗DBA宝典
  • 查看虚拟机版本

    二、 左侧没有终端图标的情况,可以搜索按钮(图中左侧第一个),输入termial,打开终端

    小麦苗DBA宝典
  • Python 模块

    模块可以被别的程序引入,以使用该模块中的函数等功能,这也是使用 python 标准库的方法。

    小麦苗DBA宝典
  • python解析xml文件

    本来今天准备学习下electron的,结果npm工具的安装真是费了劲,网速差的不得了。为了完成今天的日更,只能放弃,今天来谢谢python的xml解析吧。

    efonfighting
  • 用欧拉计划学习Rust编程(第40~45题)

    最近想学习Libra数字货币的MOVE语言,发现它是用Rust编写的,所以先补一下Rust的基础知识。学习了一段时间,发现Rust的学习曲线非常陡峭,不过仍有快...

    申龙斌

扫码关注云+社区

领取腾讯云代金券