Python - - 练习题
Posted 小Q渺晓
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python - - 练习题相关的知识,希望对你有一定的参考价值。
一 基础知识:
1,文件操作有哪些模式?简述各模式的作用
r w a rb wb ab
2, s = "hello,world!" 请使用strip 方法去除字符串两端的“**”好
s.strip("*")
3,用户输入一个任意数字n,求1-n之间所有数字中的奇数
range(0,10,2)
4,s = "hakakhlkshfkskjakf",去除s字符串中重复的字母
lst = []
for i in s:
if i not in lst:
lst.append(i)
5,
a = 10
b = 20
def test(a,b):
print(a,b)
c = test(b,a)
以上代码打印出来的值a,b,c分别是什么,为什么
20,10,None
6,s = "123.33sdhf3424.34fdg323.324asd123",计算字符串中所有数字的和
本题结果应为:123.33+3424.34+323.32
s = "123.33sdhf3424.34fdg323.324asd"
from re import findall
ret = findall(‘d+.?d|d‘,s)
# ret = [float(i) for i in ret]
# print(sum(ret))
ret = ‘+‘.join(ret)
print(eval(ret))
7,
d = {"k1":"v1","k2":[1,2,3],("k","3"):{1,2,3}}
请用程序实现
1 输出上诉字典中value为列表的key
for k in d:
if type(d[k]) is list:
print(k)
2 如果字典中的key是要给元组,请输出对应的value值
for k in d:
if type(k) is tuple:
print(d[k])
3 d[("k","3")]对象的 value是一个什么数据类型
集合
8,如果不使用@wrapper装饰器,请在a()之前加入一句代码,达到相同的效果
def wrapper(func):
def inner(*args, **kwargs):
func(*args, **kwargs)
return inner
@ wrapper
def a(arg):
print(arg)
a = warpper(a) # 答案
a()
9,请处理文件7th_questions.输出所有已"T"开头的行
with open("7th_questions",encoding="utf-8") as f:
for i in f:
if i.startswith("T"):
print(i)
10,读登录文件夹中的代码,请为这段代码画流程图
11,默写10个字符串对象的内置方法,描述作用
12,代码如下,写出调用顺序以及结果
def f1():
print("funcname is f1")
def f2():
print("funcname is f2")
return "f2"
def f3(func1):
lst = func1()
print("funcname is f3")
return lst
print(f3(f2))
# 结果呈现
funcname is f2
funcname is f3
f2
13,创建一个闭包函数需要满足那几点?
嵌套函数,外部函数包含内部方法
14,将时间打印出成 2018/10/10 10:10:10 的格式
将 "2018-11-11" 17:11:11 转换为结构化时间
time.structtime
15,用模块能知道文件夹存不存在?
os.path.isdir
怎么获取文件夹的大小?
循环文件夹所有的文件,把大小加起来
16,写出一个能匹配手机号的正则语句
1[3456789][d]{9}
17,有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
count = 0
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i == j or j == k or j == k:
continue
count += 1
print(str(i)+str(j)+str(k))
二,面试对象
1,简述类,对象,实例化,实例这些名词的含义
2,面向对象的三大特性
封装,继承,多态
3,有一个类定义:
class Person:
def init(self,name,age):
self.name = name
self.age = age
# 1 初始化10个不同的对象
# 2 求最好age的对象的name
obj = max(obj_lst,key=lamdda obj : obj.age)
print(obj.name)
4,模拟cs游戏
1 人物角色分为警察和匪徒两种,定义成两个类
所有的警察都角色都是police
每个警察都有自己独有的名字,生命值,武器,性别
每个都可以开枪攻击敌人,且攻击目标不能是police
所有的匪徒都角色都是terrorist
每个匪徒都有自己独有的名字,生命值,武器,性别
每个都可以开枪攻击敌人,且攻击目标不能是terrorist
2 实例化一个警察,一个匪徒,警察攻击匪徒,匪徒掉血
3 提取警察类和匪徒类相似之处定义成一个父类,使用继承的方法减少代码重复
5,读代码
class Base:
def f1(self):
self.f2()
def f2(self):
print("...")
class Foo(Base):
def f2(self):
print("999")
obj = Foo()
obj.f1()
# 1 面向对象中的self指的是什么
# 对象自己obj
# 2 运行结果并简述原因
# 结果"999"
6,有一个类的init方法如下:
class Person:
def init(self,name,age,sex,weight):
self.name = name
self.age = age
self.sex = sex
self.weight = weight
# 假设有100个Person对象
# 如两个对象的obj1,obj2 的name和sex属性相同
# 即obj1.name == obj2.name and obj1.sex == obj2.sex
# 我们认为两个对象为同一个对象,已知一个列表中的100个对象,对这100个对象进行去重
# 提示:重写Person类中的两个内置方法
以上是关于Python - - 练习题的主要内容,如果未能解决你的问题,请参考以下文章
Python matplotlib 基础练习:画出正弦曲线等
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段