一、选择题

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)
#方法二
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)

python练习题-day14的更多相关文章

  1. Python练习题 028:求3*3矩阵对角线数字之和

    [Python练习题 028] 求一个3*3矩阵对角线元素之和 ----------------------------------------------------- 这题解倒是解出来了,但总觉得 ...

  2. Python练习题 027:对10个数字进行排序

    [Python练习题 027] 对10个数字进行排序 --------------------------------------------- 这题没什么好说的,用 str.split(' ') 获 ...

  3. Python练习题 026:求100以内的素数

    [Python练习题 026] 求100以内的素数. ------------------------------------------------- 奇怪,求解素数的题,之前不是做过了吗?难道是想 ...

  4. Python练习题 025:判断回文数

    [Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ---------------------------------------- ...

  5. Python练习题 024:求位数及逆序打印

    [Python练习题 024] 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. ---------------------------------------------- ...

  6. Python练习题 004:判断某日期是该年的第几天

    [Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? ---------------------------------------------- 这题竟然写了 28 行代码! ...

  7. Python练习题-1.使用匿名函数对1~1000求和,代码力求简洁。

    Python 练习 标签(空格分隔): Python Python练习题 Python知识点 一.使用匿名函数对1~1000求和,代码力求简洁. 答案: In [1]: from functools ...

  8. PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。

    Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的 ...

  9. python学习 day14 (3月19日)----

    04 json # 1. 用于多种语言 交互 编程语言通用数据 # 内置的 不需要安装直接导入使用 import json # 导入 # # dumps loads dump load # dic = ...

随机推荐

  1. RabbitMQ 特性

    1RabbitMQ 特点 与 SpringAMQP 完美整合.API 丰富. 集群模式丰富,表达式配置,HA 模式,镜像队列模型. 保证数据不丢失的前提做到高可靠性.可用性.

  2. 代码注释中的专有词——TODO、FIXME和XXX

    [时间:2017-09] [状态:Open] [关键词:代码注释,TODO, FIXME, XXX] 阅读开源代码时可能经常遇到TODO.FIXME.XXX的单词,通常这些都是有其特殊含义的. 中文版 ...

  3. [转]SOA架构设计经验分享—架构、职责、数据一致性

    阅读目录: 1.背景介绍 2.SOA的架构层次 2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务) 3.SOA化的重构 3.1.保留服务空间,为了将来服务的组合 4.运用DD ...

  4. mysql分区方案的研究

    笔者觉得,分库分表确实好的.但是,动不动搞分库分表,太麻烦了.分库分表虽然是提高数据库性能的常规办法,但是太麻烦了.所以,尝试研究mysql的分区到底如何. 之前写过一篇文章,http://www.c ...

  5. return在try...except...finally...中的表现

    一直以为return就直接退出函数了,最近遇到一情况,在try中return,并没有什么卵用,还是会去执行finally里的内容,导致不能正确返回想要的数据 一直以为return就会跳出函数,发现原来 ...

  6. 4 playlook-Jinja2 filter

    jinja2模板,不多解释,请看例子 [root@LeoDevops jinjatwo]# cat j1.yaml - hosts: u12 gather_facts: False vars: lis ...

  7. JavaScript系统对象

    1. 本地对象(非静态对象) 常用对象有: Object.Function.Array.String.Boolean.Number.Date.RegExp.Error 注:本地对象需要new之后再使用 ...

  8. HashTab---Windows资源管理器的文件属性窗口中添加了一个叫做”文件校验”的标签

    HashTab 是一个优秀的 Windows 外壳扩展程序,它在 Windows 资源管理器的文件属性窗口中添加了一个叫做”文件校验”的标签.该标签可以帮助你方便地计算文件的 MD5.SHA1 与 C ...

  9. 在cmd启动一个win32程序,printf把信息输出到启运它的那个CMD窗口

    #define ProcessBasicInformation 0 typedef struct { DWORD ExitStatus; DWORD PebBaseAddress; DWORD Aff ...

  10. php跨域发送请求原理以及同步异步问题

    <script async type="text/javascript" src="http://lisi.com/data.php?flag=1"> ...