定义一个水果类,然后通过水果类,创建苹果对象、橘子对象、西瓜对象并分别添加属性:颜色和价格
23.代码题
定义一个电脑类,电脑有品牌,有价格,能放电影。分别创建2个对象"联想电脑" 和 “苹果电脑”。调用放电影的动作,联想电脑播放 电影"葫芦娃",苹果电脑播放"黑猫警长"。
24.代码题
编写一段代码以完成下面的要求:
- 定义一个Person类,类中要有初始化方法,方法中要有人的姓名和年龄属性
- 将类中的姓名是公有属性,年龄是私有属性.
- 提供获取私有属性的公有方法 get_age方法.
- 提供可以设置私有属性的方法 set_age方法,要求如果输入的年龄在 0 – 100 之间,设置年龄,否则,提示输入不正确,.
- 重写 str 要求打印对象时,把 姓名和年龄都打印出来。
25.代码题
【代码题】
按照如下的要求编写代码:
- 定义 input_password 函数,提示用户输入密码
- 如果用户输入长度 < 8,抛出异常
- 如果用户输入长度 >=8,返回输入的密码
答案解析
1.答案解析:
刚开始会基本使用print即可
print(“我的名片”)
print(“姓名: itheima”)
print(“QQ:xxxxxxx”)
print(“手机号:185xxxxxx”)
print(“公司地址:北京市xxxx”)
print(“===========================”)
2.答案解析:
现在学习了格式化,我们做练习主要是练习格式化
我们要格式的有4个一个是姓名 一个是QQ 一个是手机号 一个是地址 上下2个边缘是固定格式
#1. 定义4个变量分别存储4个要格式化的数据
name = “itheima”
QQ = “12345678”
phone = “1388888888”
address = “北京市xxxx”
2. 进行格式化输出
打印上边框
print(“我的名片”)
格式化4个变量,这里面使用了f-string方式进行的格式化,同学们也可以使用其他的格式化方式
print(f"姓名: {name}")
print(f"QQ: {QQ}")
print(f"手机号: {phone}")
print(f"地址: {address}")
#打印下边框
print(“===========================”)
3.答案解析:
这里让我们练习input方法 所以使用input接收用户输入即可
接收输入的名字
name = input(“请输入自己的姓名:”)
打印名字
print(name)
4.答案解析:
这里考察的是我们对变量的认知
python中的内置方法是一个变量你可以对其赋值,但是赋值后就不能再次当方法使用了
修改只需要把第一行代码去掉即可
#int = 100 #错误 对内置方法进行了赋值,导致后面int方法不能使用
a = “200”
b = int(a)
print(b)
5.答案解析:
这里面考察2个知识点 一个是input 一个是if判断
从键盘获取用户名和密码
name = input(“请输入用户名:”)
password = input(“请输入密码:”)
and 连接2个判断语句 表示2个都要相等
if name==“MrSun” and password==“123456”:
print(“欢迎来到博学谷”)
6.答案解析:
这里考察的就是我们条件判断
我们现实中±*/是让用户来选择的,那么我们根据用户的选择的操作 执行对应的行为
注意input 返回的都是字符串记得把数字转int类型
num1 = int(input("请输入第一个数字: "))
opt = input("请输入你要执行的操作(+ - * /): ")
num2 = int(input("请输入第二个个数字: "))
注意判断的时候是双等号
if opt==“+”:
使用f-string格式化,效果: 1 + 2 = 3
print(f"{num1} {opt} {num2} = {num1+num2}")
elif opt==“-”:
print(f"{num1} {opt} {num2} = {num1-num2}")
elif opt==“*”:
print(f"{num1} {opt} {num2} = {num1*num2}")
elif opt==“/”:
print(f"{num1} {opt} {num2} = {num1/num2}")
else:
print(“你要执行的操作无效!”)
7.答案解析:
与上面的计算器类似 主要考察input 以及 多分支判断
从键盘获取分数,input 返回的是字符串记得转化成int
score = int(input("请输入你的成绩: "))
多分支判断成绩属于哪个档次
if score<60:
print(“不及格”)
elif 60<=score<70:
print(“及格”)
elif 70<=score<80:
print(“合格”)
elif 80<=score<90:
print(“良好”)
else:
print(“优秀”)
8.答案解析:
星号先递增值5个,然后再递减至5个
可以考虑使用一个标志来控制星号的增加加和减少
字符串可以使用乘法 ‘*’*5 表示 星号重复5次
#初始要打印的星号个数
num = 1
设置一个标志,如果true 表示要星号增加
flag = True
星号小于0的时候退出循环
while num>0:
打印星星
print(“*”*num)
如果星号已经到5,更改flag,下次循环要开始减少星星
if num==5:
flag = False
如果flag 为true 说明星号是递增,
if flag:
num+=1
flag为false 说明星号开始递减
else:
num-=1
9.答案解析:
考察for range的用法
pstr = “abcdef”
for s in pstr:
print(s)
10.答案解析:
a = “abcd”
方法一 使用while逆向遍历
获取字符串最大的下标
index = len(a)-1
while lg>0:
print(a[index])
下标递减
index-=1
方法二使用切片
a = [::-1]
print(a)
11.答案解析:
考察列表遍历,考察整数转字符串,考虑字符串拼接
l = [1,2,3,4]
定义空字符串用于拼接字符串
result = “”
遍历列表元素
for num in l:
把整数转成字符串然后拼接到result
result+=str(num)
打印结果
print(result)
12.答案解析:
考察列表遍历,以及列表元组值修改
遍历可以使用for range 或者while,但是涉及到修改需要使用下标,所以采用while 加下标的方式
l = [1,2,3,4,5,6]
定义下标, 初始为0
index = 0
循环遍历列表元素,直至到最后一个值
while index<len(l):
判断如果是偶数,对这个元素加1
if l[index]%2==0:
l[index]+=1
下标向后移动
index+=1
13.答案解析:
考察元组遍历,列表元素添加,列表元素判断,元组元素统计
test = (“a”,“b”,“c”,“a”,“c”)
定义列表用于存储统计结果
result = []
for s in test:
统计元素个数
cnt = test.count(s)
把统计结果拼接成(‘a’,1)这样的格式
tmp = (s,cnt)
判断这个元素是否已统计过,如果已经在结果中说明这个元素就统计过了 继续下一个元素
if tmp in result:
continue
else:
result.append(tmp)
打印统计结果
print(result)
14.答案解析:
考察input方法,考察enumerate方法,以及字符串格式化, 考察while循环
定义一个列表用于存储所有的用户信息
users = []
定义循环因子
i = 0
while i<3:
name = input("请输入姓名: ")
age 整数记得要转化
age = int(input(“请输入年龄”))
把用户信息构造成字典,添加到列表中
users.append({“name”:name,‘age’:age})
遍历打印用户信息,因为要打印编号,可以考虑使用enumerate
注意: enumerate 方法返回的是元素,我们需要用2个变量接收,一个是编号,一个是元素
for thnum,user in enumerate(users,start=1):
使用f-string快速格式化
print(f"{thnum} {user[‘name’]} {user[‘age’]}")
如果还没学习enumerate,可以使用一个变量来表示序号
定义序号起始为1
thnum = 1
for user in users:
print(f"{thnum} {user[‘name’]} {user[‘age’]}")
记得把序号加1
thnum+=1
15.答案解析:
1. 要想提取数字字符,我们需要遍历字符串
2. 需要知道如何判断一个字符是否是数字,数字是有0123456789 中的字符构成,如果字符在这里面是不是就表示这个是数字呢
3. 把是数字的字符拼接到一起
test = “aAsmr3idd4bgs7Dlsf9eAF”
定义一个变量接收数字字符
result = “”
for s in test:
如果s在后面的字符串中说明这个字符是数字字符
if s in “0123456789”:
把数字字符添拼接到结果中
result+=s
打印结果
print(result)
16.答案解析:
1. 因为要处理每个字符,所以需要遍历字符
2. 如果判断一个字符是不是英文字母,我们字符串本身就有方法可以判断 isalpha 方法
3. 把英文单词拼接到一起就是我们要的
msg = “hel@#KaTeX parse error: Undefined control sequence: \nhon at position 8: lo pyt \̲n̲h̲o̲n̲ ̲ni\t hao%”
保存结果
result = “”
循环遍历字符
for s in msg:
判断当前字符是否是字母
if s.isalpha():
把字符添加到结果中
result+=s
打印最后的结果
print(result)
17.答案解析:
#1. 因为要查找位置,所以要遍历字符串
#2. 因为要查找多个字符,所以需要使用切边提取固定的字符
#3. 把查找到的位置保存到结果列表中
#4. 题目要求是个元组所以再转化成元组
src: 原始字符串,dst: 要查找的字符串
def findall(src,dst):
获取字符长度,用去截取字符
lg = len(dst)
保存查找的下标
res = []
#遍历字符通过下标
for index in range(lg):
截取与dst相同的字符如果相等说明 位置ok
if src[index:index+lg]==dst:
把当前位置添加到结果集中
res.append(index)
把结果转化成元组返回
return tuple(res)
s = “helloworldhellopythonhelloc++hellojava”
print(findall(s))
18.答案解析:
def sum_test(n):
保存结果
sum = 0
循环因子
i = 1
#循环累加
while i<=n:
累加结果
sum+=i
增加循环因子
i+=1
print(sum)
num = 10
sun_test(num)
19.答案解析:
考察不定长参数定义,与传递,以及遍历求大小值
def max_min(*args):
定义最大、最小值,把元素的第一个值作为最大值与最小值,然后与后面的其他值比较
max = args[0]
min = args[0]
for num in args:
如果max 小于num 那么max更新为num
if max<num:
max = num
如果min 大于num说明num小,则更新min
if min>num:
min = num
return max,min
max,min = max_min(5,2,7,1,7,8,9,10)
print(f’max = {max},min = {min}')
20.答案解析:
src 源文件路径,dst目标文件路
def copy(src,dst):
打开src文件
读的方式打开src
fr = open(src,‘r’)
写的方式打开dst
fw = open(dst,‘w’)
把src的内容写入到dst中
fw.write(fr.read())
关闭文件
fr.close()
fw.close()
print(‘文件拷贝完成’)
copy(“1.txt”,‘2.txt’)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)
件
fr.close()
fw.close()
print(‘文件拷贝完成’)
copy(“1.txt”,‘2.txt’)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-uQEObgFg-1713638673053)]
[外链图片转存中…(img-8toBK5G0-1713638673053)]
[外链图片转存中…(img-kma9xS27-1713638673054)]
[外链图片转存中…(img-CWkZ2fal-1713638673054)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)