py4测试题

1、8<<2等于?
32
2、通过内置函数计算5除以2的余数
divmod(5,2)
3、s=[1,"h",2,"e",[1,2,3],"l",(4,5),"l",{1:"111"},"o"],将s中的5个字符提取出来并拼接成字符串。
s[1]+s[3]+s[5]+s[7]+s[9]
4、判断"yuan"是否在[123,(1,"yuan"),{"yuan":"handsome"},"yuanhao"],如何判断以及对应结果?
答 m=[123,(1,"yuan"),{"yuan":"handsome"},"yuanhao"]
n="yuan"
for i in m:
if i == n:
print(i)
输出结果为: 空值
5、l=[1,2,3]
l2=l.insert(3,"hello")
print(l2)
执行结果并解释为什么?
答: 执行结果报错,因为列表下标是从0开始的,l列表的元素下标有0,1,2,没有下边为3的元素
6、 a=[1,2,[3,"hello"],{"egon":"aigan"}]
b=a[:]

a[0]=5
a[2][0]=666

print(a)
print(b)
#计算结果以及为什么?
[5,2,[666,"hello"],{"egon":"aigan"}]
[1,2,[3,"hello"],{"egon":"aigan"}]
7 使用文件读取,找出文件中最长的行的长度(用一行代码解决)?
print(max(len(line.strip())for line in f))
8 def add(s, x):
return s + x

def generator():
for i in range(4):
yield i

base = generator()
for n in [1, 11]:
base = (add(i, n) for i in base)

print list(base)

9
hello.py (gbk方式保存):
#coding:GBK
print(“老男孩”)

如果用py2,py3下在cmd下运行回报错吗?为什么并提出解决方案? (编码)
py2不会报错,因为Windows中cmd默认字符编码就是gbk
py3中不会报错,因为Windows中cmd默认字符编码是gbk
10 通过函数化编程实现5的阶乘
from functools import reduce
print(reduce(lambda x,y:x*y,[1,2,3,4,5]))
11 打印如下图案:


***
*****
*******
*****
***
*

12
def outer():
count = 10
def inner():
count = 20
print(count)
inner()
print(count)
outer()

(1)分析运行结果?
20,10,这是一个嵌套函数,名称空间查找的顺序是:局部名称空间->全局名称空间->内置名称空间
(2)如何让两个打印都是20
把count的行去掉,然后把count = 20这一行放在def outer(): 这一行的上一行。理由是count的值都可以从全局找。
13 输入一个年份,判断是否是闰年?
year=int(input("请输入年份:"))
if year % 4 == 0 and year % 400 == 0 and year % 100 != 0:
print("输入的年份是闰年")
else:
print("输入的年份不是闰年")
14 任意输入三个数,判断大小?
a=1
i=[]
while a<=3:
j = int(input("请输入数字:"))
i.append(j)
a += 1
print(i)
print(max(i))
15 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222
,几个数相加以及a的值由键盘控制。
a=int(input("请输入一个数字:"))
def f(n):
if n==1:
return a
elif n==2:
return 10*a+a
else:
return f(n-1)+10**(n-1)
if __name__ == "__main__":
f=f(10)
print(f)
16 f=open("a")

while 1:
choice=input("是否显示:[Y/N]:")
if choice.upper()=="Y":
for i in f:
print(i)
else:
break

请问程序有无bug,怎么解决?
答:有bug,f=open("a")改成如下代码
with open("a","r") as f:
f.read()
下面的代码不变
17

def foo():
print('hello foo')
return()
def bar():
print('hello bar')

(1)为这些基础函数加一个装饰器,执行对应函数内容后,将当前时间写入一个文件做一个日志记录。
import time
def timmer(func):
def wrapper():
start_time=time.time()
func()
stop_time=time.time()
m=print("The run time is %s",stop_time-start_time)
with open("n.log", "a+") as f:
f.write("The run time is %s" %(stop_time-start_time))
return wrapper

@timmer
def foo():
print('hello foo')
time.sleep(3)
return()
@timmer
def bar():
print('hello bar')
time.sleep(3)
(2)改成参数装饰器,即可以根据调用时传的参数决定是否记录时间,比如@logger(True)
import time
def timmer(func):
def wrapper(*args,**kwargs):
start_time=time.time()
func(*args,**kwargs)
stop_time=time.time()
m=print("The run time is %s",stop_time-start_time)
with open("n.log", "a+") as f:
f.write("The run time is %s" %(stop_time-start_time))
return wrapper

@timmer
def foo():
print('hello foo')
time.sleep(3)
return()
@timmer
def bar():
print('hello bar')
time.sleep(3)
18 三次登陆锁定:要求一个用户名密码输入密码错误次数超过三次锁定?
i=0
while i<3:
name=input("请输入你的名字: ")
password=input("请输入你的密码: ")
if name=='bing'and password=='12345':
print("bing login success,welcome bing")
break
else:
print("用户名或密码错误!")
i+=1
while i>=3:
print("已经被锁定")
with open('./jilu.txt','w+') as f:
f.write("name:"+name+'\n password:'+password)

python考试的更多相关文章

  1. 二级python考试大纲以及考试指导复习方案

    二级python考试大纲与复习指导 本人也是在备考二级py 可能理解不对的地方请指正 参考网络,侵权删除 考纲解读→ 一.考试介绍 1.1考试人群 ​ 全国计算机等级考试(python语言程序设计(二 ...

  2. Python考试_第一次

    python基础数据类型考试题 考试时间:两个半小时 满分100分(80分以上包含80分及格) 一,基础题. 1. 简述变量命名规范(3分) 答:(1) 变量为数字,字母以及下划线的任意组合,且不能以 ...

  3. Python考试_第三次

    - python 全栈11期月考题 一 基础知识:(70分) 1.文件操作有哪些模式?请简述各模式的作用(2分) 2.详细说明tuple.list.dict的用法,以及它们的特点(3分) 3.解释生成 ...

  4. Python 考试练习

    1.算法复杂度分为:时间复杂度和空间复杂度 一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量. 时间复杂度:是指执行算法所需要的计算工作量,也即算法的执行时间  (注意:是算法的执 ...

  5. python 考试补缺

    十六进制: >>> a=100 >>> hex(a) '0x64' 八进制: >>> a=100 >>> oct(a) '0o1 ...

  6. Python全国二级等级考试(2019)

    一.前言 2018年9月随着全国计算机等级考试科目中加入“二级Python”,也确立了Python在国内的地位,猪哥相信Python语言势必会像PS那般普及.不久的将来,谁会Python谁就能获得女神 ...

  7. Python全国二级等级考试(2019)

    一.前言 2018年9月随着全国计算机等级考试科目中加入“二级Python”,也确立了Python在国内的地位,猪哥相信Python语言势必会像PS那般普及.不久的将来,谁会Python谁就能获得女神 ...

  8. Python 练习汇总

    1. Python练习_Python初识_day1 2. Python练习_Python初识_day2 3. Python练习_初识数据类型_day3 4. Python练习_数据类型_day4 5. ...

  9. 库函数wordcloud安装的问题

    在对python有了一定的了解之后就对python的第三方库产生了十分浓厚的兴趣,因为python的很多功能都是要依靠第三方库函数来实现的,而且在计算机二级刚刚加入的python考试中也有对第三方库的 ...

随机推荐

  1. 华为大数据项目fusionInsight

    项目简述:基于开源Hadoop2.0架构的集群网络,进行海量数据的分布式计算.由于Hadoop集群规模不断扩大,而搭建一个同等规模的测试集群需要一笔昂贵的开销.目前有100台左右物料,期望预测计算节点 ...

  2. C++11 中的initialize_list

    这就是一个简单的模板类,不过在C++中有了特殊的语法支持,定义的时候使用如下的格式: initialize_list<double> dl = {1.1, 1.2}; 或者: initia ...

  3. java多线程总结(一)

    在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口. 对于直接继承Thread的类来说,代码大致框架是: 1 2 3 4 5 6 7 8 9 10 11 ...

  4. beego——模型(model)

    beego ORM是一个强大的Go语言ORM框架.她的灵感主要来自Django ORM和SQLAlchemy. 已经支持的数据库驱动: MySQL:https://github.com/go-sql- ...

  5. Java并发(3):volatile及Java内存模型

    Java 语言中的 volatile 变量可以被看作是一种“程度较轻的 synchronized“:与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但 ...

  6. POJ_2533 Longest Ordered Subsequence【DP】【最长上升子序列】

    POJ_2533 Longest Ordered Subsequence[DP][最长递增子序列] Longest Ordered Subsequence Time Limit: 2000MS Mem ...

  7. Keepalived + Mysql 主主复制高可用

    环境 系统:Centos 7.4 x64 服务:Mariadb 5.5 .Keepalived 1.3.5.6  结构 主1:192.168.1.108 主2:192.168.1.109 VIP:19 ...

  8. jQuery图片垂直滚动焦点图

    在线演示 本地下载

  9. SQLMAP 使用手册

    当给sqlmap这么一个url的时候,它会: 1.判断可注入的参数 2.判断可以用那种SQL注入技术来注入 3.识别出哪种数据库 4.根据用户选择,读取哪些数据 sqlmap支持五种不同的注入模式: ...

  10. [Android]android Service后台防杀

    网上有很多办法,方法一:在JNI里面fork出子进程service在单独的进程中,在service中调用JNI的代码,然后fork出一个进程,然后让我们的service进程和fork出来的子进程一直运 ...