文章目录

  • 一、前言
  • 二、Python练习题
    • 2.1 Python基础语法规则
    • 2.2 字符串相关练习题
    • 2.3 列表与元组相关练习题
    • 2.4 字典与数据类型练习题
    • 2.5 流程控制语句练习题
    • 2.6 函数练习题
    • 2.7 文件与模块操作练习题
    • 2.8 异常捕获练习题
    • 2.9 类与对象练习题

一、前言

  本文章主要讲解Python自动化测试的基础练习题并附录对应答案,主要给自动化测试行业从业新手或想了解自动化测试行业小白的知识复习以及梳理,文章中全部是特定针对自动化测试领域的练习题哦,如果你想学习参考其他的链接,戳下方也可以跳转至Python100例相关的地址:

学习地址1:Python100例1
学习地址2:Python100例2

除此之外下方有系列文章的传送门,还在持续更新中,感兴趣的小伙伴也可以前往查看,话不多说,让我们一起看看吧~

系列文章:
  系列文章1:【Python自动化测试1】遇见Python之美
  系列文章2:【Python自动化测试2】Python安装配置及PyCharm基本使用
  系列文章3:【Python自动化测试3】初识数据类型与基础语法
  系列文章4:【Python自动化测试4】字符串知识总结
  系列文章5:【Python自动化测试5】列表与元组知识总结
  系列文章6:【Python自动化测试6】字典与集合知识总结
  系列文章7:【Python自动化测试7】数据运算符知识合集
  系列文章8:【Python自动化测试8】流程控制语句讲解
  系列文章9:【Python自动化测试9】函数知识合集
  系列文章10:【Python自动化测试10】文件基础操作
  系列文章11:【Python自动化测试11】模块、包与路径知识合集
  系列文章12:【Python自动化测试12】异常处理机制知识合集
  系列文章13:【Python自动化测试13】类、对象、属性与方法知识合集

  

二、Python练习题

2.1 Python基础语法规则

  题目一: 请简述变量的命名规范

"""
题目一:请简述变量的命名规范
1、由数字、字母下划线组合且不能以数字开头
2、不能使用Python内置关键字作为变量名
3、变量命名需见名知意
"""

  题目二: Python如何添加注释

"""
题目二:Python如何添加注释
1、单行注释:使用#号进行注释
2、多行注释:使用三引号进行注释
3、ctrl+/可以快速进行选中行的注释,默认注释光标当前行,再次使用快捷键取消注释
"""

  题目三: 卖橘子的计算器:提示用户输入橘子价格和重量,计算出应该支付的金额!不需要校验数据,都传入数字即可。

"""题目三:卖橘子的计算器:提示用户输入橘子价格和重量,计算出应该支付的金额!不需要校验数据,都传入数字即可。"""
price = int(input("请输入价格"))
weight = int(input("请输入重量"))
mokey = price*weight
print(f"应该支付的金额为{mokey}")

  

2.2 字符串相关练习题

  题目四: 字符串,str1 = "I love python"

  (1)找出第6个字符
  (2)请复制一份字符串,保存为 str2

"""
题目四:字符串,str1 = "I love python"
(1)请找出第5个字符
(2)请复制一份字符串,保存为 str_two
"""str1 = "I love python"
# 请使用代码找出第 6 个字符
print(str1[5])# 请复制一份字符串,保存为 str_two
str2 = str1[:]
print(str2)# 运行结果:
e
I love pythonProcess finished with exit code 0

  题目五: 演练字符串操作 my_hobby = "Never stop learning!"
  (1)截取从 位置3 ~ 位置7 的字符串(含位置7)
  (2)截取完整的字符串
  (3)从索引4开始,每2个字符中取一个字符
  (4)截取字符串末尾2个字符
  (5)字符串的倒序

"""题目五:演练字符串操作 my_hobby = "Never stop learning!" """
"""说明:“位置”指的是字符所处的位置(比如位置1,指的是第一个字符“N”);“索引”指的是字符的索引值
(比如索引0, 代表的是第一个字符“N”);开始位置 ,是指字符串起始,即下标为0开始;末尾,是指字符串最后。"""my_hobby = "Never stop learning!"# 截取从 位置3 ~ 位置7 的字符串(含位置7)
print(my_hobby[2:7])# 截取完整的字符串
print(my_hobby[:])# 从索引4开始,每2个字符中取一个字符
print(my_hobby[4::2])# 截取字符串末尾2个字符
print(my_hobby[-2:])# 字符串的倒序
print(my_hobby[::-1])# 运行结果:
ver s
Never stop learning!
rso erig
g!
!gninrael pots reveNProcess finished with exit code 0

  题目六: 将字符串中的单词位置反转,“ni ai wo” 转换为 “wo ai ni”

"""题目六:将字符串中的单词位置反转,“ni ai wo” 转换为 “wo ai ni”"""s = "ni ai wo"
s1= s.split(" ")
s2 = s1[::-1]
s3 = " ".join(s2)
print(s3)# 运行结果:
wo ai niProcess finished with exit code 0

  

2.3 列表与元组相关练习题

  题目七: 题目:删除如下列表中的"矮穷丑",写出2种或以上方法:

info = ["CSDN", 88, "男", "矮穷丑", ["高", "富", "帅"], True, None, "狼孩"]
"""
题目七:删除如下列表中的"矮穷丑",写出2种或以上方法:
info = ["CSDN", 88, "男", "矮穷丑", ["高", "富", "帅"], True, None, "狼孩"]
"""# 方法一:
info = ["CSDN", 88, "男", "矮穷丑", ["高", "富", "帅"], True, None, "狼孩"]
info.pop(3)
print(info)# 方法二:
info = ["CSDN", 88, "男", "矮穷丑", ["高", "富", "帅"], True, None, "狼孩"]
info.remove('矮穷丑')
print(info)# 方法三:
info = ["CSDN", 88, "男", "矮穷丑", ["高", "富", "帅"], True, None, "狼孩"]
info_list_1=info[0:3]
info_list_2=info[4:]
info_list_1.extend(info_list_2)
info=info_list_1
print(info)# 运行结果:
['CSDN', 88, '男', ['高', '富', '帅'], True, None, '狼孩']
['CSDN', 88, '男', ['高', '富', '帅'], True, None, '狼孩']
['CSDN', 88, '男', ['高', '富', '帅'], True, None, '狼孩']Process finished with exit code 0

  题目八: 现在有一个列表 li2=[1,2,3,4,5],请通过相关的操作改成 li2 = [0,1,2,3,66,4,5,44,55,66]

"""题目八:现在有一个列表 li2=[1,2,3,4,5],请通过相关的操作改成 li2 = [0,1,2,3,66,4,5,44,55,66]"""
li2 = [1, 2, 3, 4, 5]
li2.insert(0, 0)
li2.insert(4, 66)
li2_last=[44, 55, 66]
li2.extend(li2_last)
print(li2)
[0, 1, 2, 3, 66, 4, 5, 44, 55, 66]Process finished with exit code 0

  题目九: 使用列表存储和操作以下数据:
  (1)某相亲节目需要获取你的个人信息,请存储你的:姓名、性别、年龄
  (2)有一个人对你很感兴趣,平台需要您补足您的身高和联系方式
  (3)平台为了保护你的隐私,需要你删除你的联系方式
  (4)你为了取得更好的成绩,需要取一个花名,并修改自己的身高和其他你觉得需要改的信息。
  (5)你进一步添加自己的兴趣,兴趣至少包含 3个(注意:兴趣是另外一个列表。请将这个列表作为一个成员,添加到原个人信息列表当中,添加到末尾即可。

"""
题目九:使用列表存储和操作以下数据a. 某相亲节目需要获取你的个人信息,请存储你的:姓名、性别、年龄b. 有一个人对你很感兴趣,平台需要您补足您的身高和联系方式;c, 平台为了保护你的隐私,需要你删除你的联系方式;d, 你为了取得更好的成绩,需要取一个花名,并修改自己的身高和其他你觉得需要改的信息。e, 你进一步添加自己的兴趣,兴趣至少包含 3个(注意:兴趣是另外一个列表。请将这个列表作为一个成员,添加到原个人信息列表当中,添加到末尾即可。
"""# a.某相亲节目需要获取你的个人信息,请存储你的:姓名、性别、年龄
name=input('请输入你的名字')
Gender=input('请输入你的性别')
age=input('请输入你的年龄')
user=[name,Gender,age]
print(user)# b.有一个人对你很感兴趣,平台需要您补足您的身高和联系方式;
height=input('请输入你的身高')
contact=input('请输入你的联系方式')
user_Add=[height,contact]
user.extend(user_Add)
print(user)# c, 平台为了保护你的隐私,需要你删除你的联系方式;
user.pop(4)
print(user)# d, 你为了取得更好的成绩,需要取一个花名,并修改自己的身高和其他你觉得需要改的信息。
Second_name=input('请输入你的花名')
height_new=input('请修改你的身高')
user[0]=Second_name
user[-1]=height_new
print(user)# e, 你进一步添加自己的兴趣,兴趣至少包含3个(注意:兴趣是另外一个列表。请将这个列表作为一个成员,添加到原个人信息列表当中,添加到末尾即可。
hobby=['学习','篮球','下班','赚钱']
user.extend(hobby)
print(user)

  题目十: 简述列表与元组的区别:

"""
题目十:简述列表与元组的区别
1、元组不可变,列表可变
2、元组如果只有一个元素必须在元素后加逗号以表示这是一个元组,列表无需此操作
3、元组tuple()类型,列表为list[]
4、列表当中的元素可进行增删改查,元组里面的元素不可增删改元组与列表相同的:
1、有序,有索引,可以根据索引取值
2、都是可以存储多个数据
3、切片的方式相同
"""

  

2.4 字典与数据类型练习题

  题目十一: 使用字典和列表存储和操作以下数据:
  (1)某相亲节目需要获取你的个人信息,请存储你的:姓名、性别、年龄
  (2)有一个人对你很感兴趣,平台需要您补足您的身高和联系方式
  (3)平台为了保护你的隐私,需要你删除你的联系方式
  (4)你为了取得更好的成绩,需要取一个花名,并修改自己的身高和其他你觉得需要改的信息。
  (5)你进一步添加自己的兴趣,兴趣至少包含 3个(注意:兴趣是另外一个列表。请将这个列表作为一个成员,添加到原个人信息列表当中,添加到末尾即可。

"""
题目十一:使用字典和列表存储和操作以下数据a. 某相亲节目需要获取你的个人信息,请存储你的:姓名、性别、年龄b. 有一个人对你很感兴趣,平台需要您补足您的身高和联系方式;c, 平台为了保护你的隐私,需要你删除你的联系方式;d, 你为了取得更好的成绩,需要取一个花名,并修改自己的身高和其他你觉得需要改的信息。e, 你进一步添加自己的兴趣,兴趣至少包含 3个(注意:兴趣是另外一个列表。请将这个列表作为一个成员,添加到原个人信息列表当中,添加到末尾即可。
"""
# a.某相亲节目需要获取你的个人信息,请存储你的:姓名、性别、年龄person_information = {'name':'张三','sex':'女','age':18}# b.有一个人对你很感兴趣,平台需要您补足您的身高和联系方式;person_information.update({'high':163,'tel':18624398888})# c, 平台为了保护你的隐私,需要你删除你的联系方式;person_information.pop('tel')# d, 你为了取得更好的成绩,需要取一个花名,并修改自己的身高和其他你觉得需要改的信息。person_information['flower_name'] = '栀子花'person_information['high'] = 170person_information['age'] = 20# e, 你进一步添加自己的兴趣,兴趣至少包含# 3个(注意:兴趣是另外一个列表。请将这个列表作为一个成员,添加到原个人信息列表当中,添加到末尾即可。person_information['intering'] = ['看书','跑步','听歌']print(person_information)# 运行结果:
{'name': '张三', 'sex': '女', 'age': 20, 'high': 170, 'flower_name': '栀子花', 'intering': ['看书', '跑步', '听歌']}Process finished with exit code 0

  题目十二: 利用下划线将列表li=["python","java","php"]的元素拼接成一个字符串,然后将所有字母转换为大写:

"""
题目十二:利用下划线将列表li=["python","java","php"]的元素拼接成一个字符串,然后将所有字母转换为大写。
"""
li = ["python", "java", "php"]li_1 = " ".join(li)print(li_1.upper())# 运行结果:
PYTHON JAVA PHPProcess finished with exit code 0

  题目十三: 有下面几个数据 :

t1 = ("aa",11)
t2= ("bb",22)
li1 = [("cc",11)]

请通过学过的知识点,进行相关操作变为如下字典:

{"aa":11,"cc":11,"bb":22}
"""题目十三:有下面几个数据 :t1 = ("aa", 11)t2 = ("bb", 22)li1 = [("cc", 11)]请通过学过的知识点,进行相关操作变为如下字典:{"aa": 11, "cc": 11, "bb": 22}"""t1 = ("aa", 11)t2 = ("bb", 22)li1 = [("cc", 11)]dict_1 = {t1[0]:t1[1],li1[0][0]:li1[0][1],t2[0]:t2[1]}print(dict_1)# 运行结果:
{'aa': 11, 'cc': 11, 'bb': 22}Process finished with exit code 0

  题目十四: 简述学过的数据类型,可变类型有哪些,不可变类型有哪些:

"""
题目十四:简述学过的数据类型数据类型有:int float、bool、str、tuple、list、dict、set可变类型
list、dict、set 为可变类型不可变类型int 、float、 tuple、 bool、 str 都为不可变类型
"""

2.5 流程控制语句练习题

  题目十五: 一家商场在降价促销,所有原价都是整数(不需要考虑浮点情况),如果购买金额50-100元(包含50元和100元)之间,会给10%的折扣;如果购买金额大于100元会给20%折扣。编写一程序,询问购买价格,再显示出折扣和最终价格。

"""
题目十五:一家商场在降价促销,所有原价都是整数(不需要考虑浮点情况)
如果购买金额50-100元(包含50元和100元)之间,会给10%的折扣;如果购买金额大于100元会给20%折扣
编写一程序,询问购买价格,再显示出折扣和最终价格。
"""price = int(input("请输入你的购买价格:"))if  50 <= price <= 100:print("购买折扣:1折")money = int(price*0.9)print(f"优惠价格:{money}元")elif price > 100:print("购买折扣:2折")money = int(price * 0.8)print(f"优惠价格:{money}元")else:print("你购买的商品无优惠")# 运行结果:
请输入你的购买价格:50
购买折扣:1折
优惠价格:45元Process finished with exit code 0

  题目十六: 输入一个有效的年份(如:2019),判断是否为闰年(不需要考虑非数字的情况),如果是闰年,则打印“2019年是闰年”;否则打印“2019年不是闰年”。

"""
题目十六:输入一个有效的年份(如:2019),判断是否为闰年(不需要考虑非数字的情况)
如果是闰年,则打印“2019年是闰年”;否则打印“2019年不是闰年”。
"""year = int(input("请输入年份:"))if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):print(f"{year}是闰年")else:print(f"{year}不是闰年")# 运行结果:
请输入年份:2180
2180是闰年Process finished with exit code 0

  题目十七: 求三个整数中的最大值:

"""
题目十七:求三个整数中的最大值
"""
num1 = int(input("请输入第一个数字:"))num2 = int(input("请输入第二个数字:"))num3 = int(input("请输入第三个数字:"))if num1 >= num2 and num1 >= num3:print(f"{num1}为3个数中最大值")elif num2 >= num1 and num2 >= num3:print(f"{num2}为3个数中最大值")else:print(f"{num3}为3个数中最大值")# 运行结果:
请输入第一个数字:15
请输入第二个数字:25
请输入第三个数字:35
35为3个数中最大值Process finished with exit code 0

  题目十八: 编写如下程序:
  a.用户输入1-7七个数字,分别代表周一到周日;
  b.如果输入15,打印对应的“周一”“周五”,如果输入的数字是6或7,打印输出“周末”
  c.如果输入0,退出循环
  d.输入其他内容,提示:“输入有误,请重新输入!”
  提示:本题可以使用if和while循环,同时需要校验用户的输入是否正确。不用考虑浮点数等情况。

"""
题目十八:编写如下程序:a.用户输入1-7七个数字,分别代表周一到周日;b.如果输入1~5,打印对应的“周一”~“周五”,如果输入的数字是6或7,打印输出“周末”c.如果输入0,退出循环d.输入其他内容,提示:“输入有误,请重新输入!”提示:本题可以使用if和while循环,同时需要校验用户的输入是否正确。不用考虑浮点数等情况。
"""
day={'1':"周一",'2':"周二",'3':"周三",'4':"周四",'5':"周五",'6':"周日",'7': "周日"}while True:a=input('请输入1-7数字:')if a in day:print(day[a])elif a=='0':breakelse:print('输入有误,请重新输入!')# 运行结果:
请输入1-7数字:4
周四
请输入1-7数字:6
周日
请输入1-7数字:0Process finished with exit code 0

  题目十九: 使用for循环打印九九乘法表。

"""
题目十九:使用for循环打印九九乘法表。"""
for a in range(1,10):for b in range(1,a+1):print(f"{b}*{a}={a * b}",end='\t')print()# 运行结果:
1*1=1
1*2=2  2*2=4
1*3=3  2*3=6  3*3=9
1*4=4  2*4=8  3*4=12 4*4=16
1*5=5  2*5=10 3*5=15 4*5=20 5*5=25
1*6=6  2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7  2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8  2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9  2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 Process finished with exit code 0

  题目二十: 实现冒泡排序,具体需求:利用for循环,完成a=[1,7,4,89,34,2]的排序(小的数字排前面,大的排后面),不能使用sort、sorted等内置函数或方法:

"""
题目二十:实现冒泡排序,具体需求:利用for循环,完成a=[1,7,4,89,34,2]的排序(小的数字排前面,大的排后面),不能使用sort、sorted等内置函数或方法:"""
a=[1,7,4,89,34,2]for j in range(1,len(a)):for i in range(0,len(a)-j): if a[i]>a[i+1]: a[i],a[i+1]=a[i+1],a[i]print(a)# 运行结果:
[1, 7, 4, 89, 34, 2]
[1, 4, 7, 89, 34, 2]
[1, 4, 7, 89, 34, 2]
[1, 4, 7, 34, 89, 2]
[1, 4, 7, 34, 2, 89]
[1, 4, 7, 34, 2, 89]
[1, 4, 7, 34, 2, 89]
[1, 4, 7, 34, 2, 89]
[1, 4, 7, 2, 34, 89]
[1, 4, 7, 2, 34, 89]
[1, 4, 7, 2, 34, 89]
[1, 4, 2, 7, 34, 89]
[1, 4, 2, 7, 34, 89]
[1, 2, 4, 7, 34, 89]
[1, 2, 4, 7, 34, 89]Process finished with exit code 0

  

2.6 函数练习题

  题目二十一: 定义一个函数 def remove_element(a_list):,将列表[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]去除重复元素。

"""
题目二十一:定义一个函数 def remove_element(a_list):,将列表[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]去除重复元素。
"""def remove_element(a_list):di = {}for i in a_list:num = a_list.count(i)di[i] = numreturn list(di.keys())li = [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]
new_li = remove_element(li)
print(new_li)

  题目二十二: 使用函数完成以下操作
  输入一个人的身高(m)和体重(kg),根据BMI公式(体重除以身高的平方)计算他的BMI指数
  低于18.5: 过轻 18.5-25: 正常 25-28: 过重 28-32: 肥胖 高于32: 严重肥胖

"""
题目二十二:使用函数完成以下操作
输入一个人的身高(m)和体重(kg),根据BMI公式(体重除以身高的平方)计算他的BMI指数
低于18.5: 过轻 18.5-25:   正常 25-28:      过重 28-32:      肥胖 高于32:   严重肥胖
"""def get_bmi(height, weight):bmi = weight / height ** 2if bmi < 18.5:return f'您的bmi为{round(bmi, 1)},低于18.5:过轻'elif 18.5 <= bmi < 25:return f'您的bmi为{round(bmi, 1)},18.5-25:正常'elif 25 <= bmi < 28:return f'您的bmi为{round(bmi, 1)},25-28:过重'elif 28 <= bmi <= 32:return f'您的bmi为{round(bmi, 1)},28-32:肥胖'elif  bmi > 32:return f'您的bmi为{round(bmi, 1)},高于32:严重肥胖'

  题目二十三: 定义函数,将输入的所有数字相乘之后对20取余数,用户输入的数字个数不确定。

"""
题目二十三:定义函数,将输入的所有数字相乘之后对20取余数,用户输入的数字个数不确定。
"""
def get_multiplication(*args):multi = 1for item in args:multi = multi * itemremainder = multi % 20return remainderif __name__ == '__main__':li = []while True:num = input('请输入一个数据,输入q代表结束:')if num != 'q':li.append(int(num))print(li)else:breakprint('输入的所有数字相乘之后对20取余数为:',get_multiplication(*li))

  题目二十四: 一个足球队在寻找年龄在15岁到22岁的女孩做拉拉队员(包括15岁和22岁)加入。编写一个程序,根据用户的姓名,性别和年龄,打印这个人是否可以加入球队,询问10次后,打印满足条件的所有人的名字。(要求:定义函数处理逻辑)

"""
题目二十四:一个足球队在寻找年龄在15岁到22岁的女孩做拉拉队员(包括15岁和22岁)加入。
编写一个程序,根据用户的姓名,性别和年龄,打印这个人是否可以加入球队,询问10次后,打印满足条件的所有人的名字。
(要求:定义函数处理逻辑)
"""def find_mail_soccer():i = 1all_name = ''while i <= 3 :name = input('请输入姓名:')sex = input('请输入性别(女生:m,男生:f):')age = int(input('请输入年龄:'))if (age >= 15 and age <= 22) and sex == 'm':all_name = all_name + name + ','i += 1return all_nameif __name__ == '__main__':all_name = find_mail_soccer()print('能加入足球队的所有人的名字如下:',all_name)

  题目二十五: 通过定义一个计算器函数,调用函数传递两个参数,然后提示选择【1】加 【2】减【3】乘 【4】除 操作,选择之后返回对应操作的值。

"""
题目二十五:通过定义一个计算器函数,调用函数传递两个参数,然后提示选择【1】加 【2】减【3】乘 【4】除 操作
选择之后返回对应操作的值。
"""def plus(a,b):result = a + breturn resultdef subtraction(a,b):result = a - breturn resultdef multiplication(a,b):result = a * breturn resultdef division(a,b):if b != 0:result = a / belse:result = '除数为0,不能进行除法运算'return resultdef calculator(a, b):result = 0operation = input('请问您想进行什么操作:【1】加,【2】减,【3】乘,【4】除:')if operation == '1':result = plus(a,b)elif operation == '2':result = subtraction(a,b)elif operation == '3':result = multiplication(a,b)elif operation == '4':result = division(a, b)return operation,resultif __name__ == '__main__':operation = {'1':'加法', '2':'减法', '3':'乘法', '4':'除法'}result = calculator(3,8)print(f'进行{operation[result[0]]}运算的结果是:{result[1]}')

2.7 文件与模块操作练习题

  题目二十六: 把以下字典分行添加到文件当中,得到一个 info.txt 的文件:

person_info = [{"name": "张三","age": 22,"gender": "男","hobby": "学习","motto": "学习使我快乐"},{"name": "李四","age": 20,"gender": "女","hobby": "拿30K offer","motto": "下次拿个40K的"},
]
"""题目二十六:把以下字典分行添加到文件当中,得到一个 info.txt 的文件:"""person_info = [{"name": "张三","age": 22,"gender": "男","hobby": "学习","motto": "学习使我快乐"},{"name": "李四","age": 20,"gender": "女","hobby": "拿30K offer","motto": "下次拿个40K 的"},]# 方法一with open('info.txt', 'a', encoding='utf-8') as f:for key in person_info[0]:f.write(str(key) + ',')f.write('\n')for i in range(2):for value in person_info[i].values():f.write(str(value) + ',')f.write('\n')

  题目二十七: cases.txt 文件中有 2 行数据:把txt里面的两行内容取出然后保存到一个列表和字典当中:(可定义函数)

[{'url':'/futureloan/mvc/api/member/register','mobile':'18866668888','pwd':'123456'},{'url':'/futureloan/mvc/api/member/recharge','mobile':'18866668888','amount':'1000'}
]
"""题目二十七:cases.txt 文件中有 2 行数据:把txt里面的两行内容取出然后保存到一个列表和字典当中:(可定义函数)"""def analyse_str(line_str):res_dict = {}line_list = line_str.split('@')for temp in line_list:temp_list = temp.split(':')res_dict[temp_list[0]] = temp_list[1]return res_dictdef read_file(filename):res_list = []with open(filename, 'r') as f:text_list = f.readlines()for temp in text_list:res_list.append(analyse_str(temp.replace('\n', '')))return res_listprint(read_file('cases.txt'))

  题目二十八: 当前目录下已经有一个子目录 common, 请在 run.py 中编写代码,在 common 目录下创建一个叫 excel.py 的模块

-- data/
-- common/
-- run.py
"""题目二十八:当前目录下已经有一个子目录 common, 请在 run.py 中编写代码,在 common 目录下创建一个叫 excel.py 的模块"""import ospath = os.path.dirname(__file__)new_file_path = os.path.join(path, 'common', 'excel.py')print(new_file_path)f = open(new_file_path, 'w')f.close()

2.8 异常捕获练习题

  题目二十九: 去生鲜超市买橘子程序
  a.收银员输入橘子的价格,单位:元/斤
  b.收银员输入用户购买橘子的重量,单位:斤
  c.计算并且 输出 付款金额
  d.使用捕获异常的方式,来处理用户输入无效数据的情况

"""
题目二十九:去生鲜超市买橘子程序
a.收银员输入橘子的价格,单位:元/斤
b.收银员输入用户购买橘子的重量,单位:斤
c.计算并且 输出 付款金额
d.使用捕获异常的方式,来处理用户输入无效数据的情况
"""try:cashier_cou = int(input("请输入橘子的价格:"))cashier_we = int(input("请输入橘子的重量:"))orang_pay = cashier_cou * cashier_weprint(f"您购买的橘子一共消费{orang_pay}元")
except ValueError:print("检测到您的输入非法")

  题目三十: 列出你知道的异常类型,并编写一个异常例子捕获它们:

"""
题目三十:列出你知道的异常类型,并编写一个异常例子捕获它们:
"""
try:a = [1,2]a[8]except IndexError:pass

  题目三十一: 总结异常类型的知识点:

"""
题目三十一:总结异常类型的知识点1、   如果try当中出现某句异常,直接跳转到except语句
2、  异常出现了,如果没有捕获,出现报错,终止运行
3、  如果使用了try 和except,执行了except就不会出现终止
4、  尽可能使用指定的错误类型进行异常捕获,指定类型能够更精准的捕获,能够更好的处理
5、  finally:
无论如何,不管except是否执行,都会运行代码
"""

2.9 类与对象练习题

  题目三十二: 类属性和实例属性的区别是什么?

"""
题目三十二:类属性和实例属性的区别是什么?
类属性是整个类的特征,所有成员都一致,所有对象共有的特征,获取类属性: 类名.属性名
实例属性表示这个成员,物体个人具备的属性,属于个体具备的特征,每个对象特有的,定义:self.属性名=属性值
"""

  题目三十三: 类属性如何定义?

"""
题目三十三:类属性如何定义?
"""
class Car:wheel = True   # 类属性lunzi_number = 4  # 类属性engine = True     # 类属性material = ['铁','橡胶','塑料','玻璃']  # 类属性# 获取类属性print(Car.wheel)print(Car.engine)print(Car.material)

  题目三十四: 封装一个学生类, 属性:身份(学生),姓名,年龄,性别,英语成绩,数学成绩,语文成绩, 职责。如果是类属性请提前定义,如果是实例属性请初始化以后添加这个属性的值。

"""
题目三十四:封装一个学生类, 属性:身份(学生),姓名,年龄,性别,英语成绩,数学成绩,语文成绩, 职责。
如果是类属性请提前定义,如果是实例属性请初始化以后添加这个属性的值。
"""
class Student:id = '学生'duty ='study'def __init__(self,name,age,sex,english_score,mathe_score,Chinese_score):self.name = nameself.age = ageself.sex = sexself.english_score = english_scoreself.mathe_score = mathe_scoreself.Chinese_score = Chinese_scorestudent = Student('张三',18,'女',98,80,50)print(student.name)

  题目三十五: 给你生活中遇到的 3 种事物分别定义 3 个类,并分别添加几个类属性。

"""题目三十五:给你生活中遇到的 3 种事物分别定义 3 个类,并分别添加几个类属性。"""class Earphone:function = 'listen_music'earhole_num = 2class Teacher:duty = 'teaching'knowledge = '知识渊博'class Shoes:function = 'wearing'number = 2

  题目三十六: 定义一个登录的测试用例类LoginTestCase 登录接口url地址为:“http://www.xxxx.com/login” 接口请求方法全部为:“post” 、 请定义测试用例的属性,自行分辨下列属性,应该定义为类属性还是实例属性

  • 属性:用例编号 url地址 请求参数 请求方法 预期结果 实际结果
"""题目三十六:定义一个登录的测试用例类LoginTestCase 登录接口url地址为:"http://www.xxxx.com/login" 接口请求方法全部为:"post" 、
请定义测试用例的属性,自行分辨下列属性,应该定义为类属性还是实例属性- 属性:用例编号 url地址 请求参数 请求方法 预期结果 实际结果"""class LoginTestCase:url = 'http://www.xxxx.com/login'method = 'post'excepted = 'ok'def __init__(self,case_id,request_parameters,result):self.case_id = case_idself.request = request_parametersself.result = result

  题目三十七: 定义一个手机类:

  1. 定义两个实例方法,让手机具有打电话和录音的方法

  2. 打电话的时候可以录音,也可以不录音。(方法调用其他方法,并通过参数控制是否调用)

"""
题目三十七:定义一个手机类:
1. 定义两个实例方法,让手机具有打电话和录音的方法
2. 打电话的时候可以录音,也可以不录音。(方法调用其他方法,并通过参数控制是否调用)
"""chioce = int(input('请选择是否录音:1:是,0:否 :'))# 定义一个手机类
class Mobile:# 初始化函数,定义一个选择是否录音的参数def __init__(self,touch1):self.touch =touch1# 定义一个打电话的方法def call(self):print('正在打电话!!')if self.touch ==1:self.recording()# 定义一个录音的方法def recording(self):print('正在录音!!')# 根据选择是否录音,调用call方法
Mobile(chioce).call()

  题目三十八: 简述类方法和实例方法,静态方法

"""
题目三十八:简述类方法和实例方法,静态方法类方法:可以通过类调用函数  必须加 @classmethod
实例方法:在类里面定义一个函数 例: def run(self, other_args), 方法调用时必须加上前缀 对象.方法()
静态方法:没有固定参数 ,和类、对象没有直接关系 必须加@staticmethod
"""

  题目三十九: 简述类属性和实例属性

"""
题目三十九:简述类属性和实例属性类属性:表示类或对象的某种特征,整个类都具备的属性;
实例属性:表示这个成员,物体个人具备的属性;
"""

  题目四十: 定义一个 ExcelHandler 类,所有方法不需要实际操作实现
  初始化传入 文件路径。
  定义打开 excel 方法。
  定义获取 sheet 表格方法,根据 名称获取。
  定义读取 sheet 表格数据的方法。 (读取需要先打开,再获取表格。)
  定义关闭文件方法。

"""
题目四十:定义一个 ExcelHandler 类,所有方法不需要实际操作实现初始化传入 文件路径。
定义打开 excel 方法。
定义获取 sheet 表格方法,根据 名称获取。
定义读取 sheet 表格数据的方法。 (读取需要先打开,再获取表格。)
定义关闭文件方法。
"""
class ExcelHandler:# 1、初始化传入 文件路径。def __init__(self,url,sheet_name):self.url =urlself.name =sheet_name# 2、定义打开 excel 方法def open_excel(self):print(f'{self.url}打开excel文件')# 3、定义获取 sheet 表格方法,根据 名称获取def open_sheet(self):print(f'正在打开{self.name}sheet表格')# 4、定义读取 sheet 表格数据的方法class readdata(ExcelHandler):def read_sheet(self):super().open_excel()super().open_sheet()print(f'正在读取{self.name}sheet表格')# 5、定义关闭文件方法def close_excel(self):print('关闭excel文件')# 定义一个对象file1 =readdata('excel.txt','testcase')# 调用读取sheet数据方法file1.open_excel()file1.open_sheet()file1.read_sheet()file1.close_excel()

【Python自动化测试14】Python自动化测试基础与进阶练习题相关推荐

  1. 简明python教程 豆瓣-福利分享:个人整理的Python书单,从基础到进阶

    原标题:福利分享:个人整理的Python书单,从基础到进阶 我挑选的一些书籍,大家可以自行到书店或是网上自己选购.也由于个人水平有限,很可能大家觉得优秀的书籍没有列出,如果大家有觉得不错的书籍,欢迎大 ...

  2. python网络爬虫权威指南 豆瓣_福利分享:个人整理的Python书单,从基础到进阶...

    原标题:福利分享:个人整理的Python书单,从基础到进阶 我挑选的一些书籍,大家可以自行到书店或是网上自己选购.也由于个人水平有限,很可能大家觉得优秀的书籍没有列出,如果大家有觉得不错的书籍,欢迎大 ...

  3. class参数传入 python_小白学 Python 爬虫(20):Xpath 进阶

    人生苦短,我用 Python 如果我的文章对您有帮助,请关注支持下作者的公众号:极客挖掘机,您的关注,是对小编坚持原创的最大鼓励:) 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Py ...

  4. python requests_小白学 Python 爬虫(18):Requests 进阶操作

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  5. python详细教程-python入门(非常详细的教程)

    对于初学者而言,您要做的只是专注于Python语言,阐明学习重点,掌握学习节奏,并逐步学习.根据我多年的学习和工作经验,编程语言的学习分为以下三个步骤,无论您是否具有编程基础,都可以通过比较来完成. ...

  6. 计算机编程书籍-笨办法学Python 3:基础篇+进阶篇

    编辑推荐: 适读人群 :本书适合所有已经开始使用Python的技术人员,包括初级开发人员和已经升级到Python 3.6版本以上的经验丰富的Python程序员. "笨办法学"系列, ...

  7. 五大自动化测试的 Python 框架

    来源:Python开发者 本文长度为3700字,建议阅读10分钟 本文为大家准备了五种Python类型的自动化测试框架,以供比较和讨论. 自2018年被评选为编程语言以来,Python在各大排行榜上一 ...

  8. python 自动化-五大自动化测试的Python框架

    [51CTO.com快译]自2018年被评选为***编程语言以来,Python在各大排行榜上一直都是名列前茅.目前,它在Tiobe指数(请详见https://www.tiobe.com/tiobe-i ...

  9. jemeter python接口自动化测试平台_WEB接口开发与自动化测试基于PYTHON语言PDF_Python教程...

    资源名称:WEB接口开发与自动化测试 基于PYTHON语言 PDF 内容简介: <Web接口开发与自动化测试--基于Python语言>以接口测试为主线,以Web开发为切入点,全面介绍了We ...

最新文章

  1. 什么是三极管的倒置状态及其作用!
  2. CentOS 5升级Python版本(2.42.7)
  3. HiveSQL窗口函数
  4. 使用RestTemplate访问restful服务时遇到的问题
  5. php怎么压缩文字,php实现的简单压缩英文字符串的代码
  6. [原创]软件测试工具简介及下载地址(不定时更新)
  7. python函数的使用场景_详解python中strip函数的使用场景
  8. sql azure 语法_使用Visual Studio和SQL Azure数据库
  9. GDAL库进度信息编写示例
  10. nginx websocket 代理
  11. 还在写 BUG?试试 GitHub 官方代码扫描工具!
  12. 消费贷之京东白条、蚂蚁花呗和银行信用卡的那些分期“低费率”套路
  13. 谷歌浏览器---日常使用设置
  14. 生信分析是个什么玩意儿?
  15. 根据市场需求和反馈调整产品定位,调整产品既定设计策略和营销策略
  16. JAVA 调用 labview_制作软接入点ESP8266并通过labview读取数据
  17. matlab计算prc曲线auc面积,ROC曲线及其matlab实现ROC曲线的绘画
  18. 对预言(Oracle)的一次探讨
  19. 【PC工具】win10关闭自带杀毒软件,win10关闭安全软件方法
  20. 《团》里男人是否可嫁的汉?

热门文章

  1. Sonic simple服务中设备图片、测试用例运行异常图片、失败录像路径映射配置
  2. 2023电工杯数学建模B题思路
  3. python中如何将一个数字分解成一个列表
  4. Codeforces 148D. Bag of mice(概率dp)
  5. python爬虫招聘网站(智联)
  6. 搜索引擎蜘蛛抓取不到网站内容页面的原因总结
  7. OSI的七层模型详解
  8. BLAST Database error: No alias or index file found for protein database
  9. 关于VMware虚拟机安装失败的解决办法,报错(29142)或者安装系统后无法启动
  10. 数据结构之单向循环链表