Python基础练习题,含答案解析_编程题 定义字符串的内容为“管理学院计算机系xx专业张三”,请利用字符串截取(2)

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

QQ:xxxxxxx
手机号:185xxxxxx
公司地址:北京市xxxx


#### 2.使用字符串的格式化输出完成以下名片的显示



我的名片
姓名: itheima  
QQ:xxxxxxx
手机号:185xxxxxx
公司地址:北京市xxxx


#### 3.编程实现:用户在键盘中输入自己的名字,例如“张三”,终端打印“你好,张三”


#### 4.判断下面的代码是否写的正确,如果不正确,请修改代码,然后执行代码。



int = 100
a = “200”
b = int(a)
print(b)


#### 5.编写程序,从键盘获取用户名和密码,然后判断,如果正确就输出以下信息: "欢迎来到博学谷!"


#### 6.编写代码设计简易计算器,可以进行基本的加减乘除运算。


#### 7.考试成绩的问题:提示用户输入成绩,判断是属于哪个水平,将结果打印到控制台。60以下不及格,60分以上为及格,70分至80分为合格,80分至90分为良好,90分以上为优秀。


#### 8. 使用while打印如下图形


#### 9.使用for循环,依次打印字符串"abcdef"中的每个字符。


#### 10.请将a字符串反转并输出。例如:'abc'的反转是'cba'


#### 11.把[1,2,3,4]转换成"1234"


#### 12.编程实现 把一个元素全为数字的列表中的所有偶数加1


#### 13. test = ("a","b","c","a","c") ,统计元祖中每个元素出现的次数把最终的结果保存到列表中,例如[('a',1),('b',3),('c',5)]。


#### 14.题目描述



> 
> 在控制台输入 3 组个人信息,每个人有姓名和年龄,将信息存入字典中,将字典存入列表。
> 
> 
> 遍历列表,打印每个人的信息,打印格式如下:
> 
> 
> 1 张三 20
> 
> 
> 2 李四 22
> 
> 
> 3 王五 23
> 
> 
> 


#### 15.已知字符串 test = "aAsmr3idd4bgs7Dlsf9eAF",将字符串中的数字取出,生成一个新的字符串


#### 16.现有字符串 msg = "hel@#$lo pyt \nhon ni\t hao%$" ,去掉所有不是英文字母的字符,打印结果:"请理以后的结果为:hellopythonnihao"


#### 17.代码题目



> 
> 定义函数findall,要求返回符合要求的所有位置的起始下标,如字符串"helloworldhellopythonhelloc++hellojava",
> 
> 
> 需要找出里面所有的"hello"的位置,返回的格式是一个元组,即:(0,10,21,29)
> 
> 
> 


#### 18.代码题



> 
> 定义一个函数 sum\_test 接收一个参数 n ,在函数中计算 1 + 2 + 3 + ... + n 的值,并打印结果。
> 
> 
> 


#### 19.代码题目



> 
> 使用不定长参数定义一个函数max\_min,接受的参数类型是数值,最终返回这些数中的最大值和最小值
> 
> 
> 


#### 20.代码题



> 
> 把一个文件中的内容,复制到另外一个文件中。
> 
> 
> 


#### 21.代码题



> 
> 使用os模块,把文件夹中的所有文件重命名。例如,当前test目录下所有的文件名开头添加new\_这个字符串。
> 
> 
> 


#### 22.代码题



> 
> 定义一个水果类,然后通过水果类,创建苹果对象、橘子对象、西瓜对象并分别添加属性:颜色和价格
> 
> 
> 


#### 23.代码题



> 
> 定义一个电脑类,电脑有品牌,有价格,能放电影。分别创建2个对象"联想电脑" 和 "苹果电脑"。调用放电影的动作,联想电脑播放 电影"葫芦娃",苹果电脑播放"黑猫警长"。
> 
> 
> 


#### 24.代码题



> 
> 编写一段代码以完成下面的要求:
> 
> 
> 1. 定义一个Person类,类中要有初始化方法,方法中要有人的姓名和年龄属性
> 2. 将类中的姓名是公有属性,年龄是私有属性.
> 3. 提供获取私有属性的公有方法 get\_age方法.
> 4. 提供可以设置私有属性的方法 set\_age方法,要求如果输入的年龄在 0 -- 100 之间,设置年龄,否则,提示输入不正确,.
> 5. 重写 **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):

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 24
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值