Python小测试_7

Python小测试_7
Python小测试_7

第六周 A.......

1.每个类的定义必须包含一个初始化方法,该初始化方法的名称是什么?·__init__(两边各2个下划线)

2.Python语言中,函数和方法的主要区别是什么? ·函数在类之外定义,而方法在类当中定义,方法是类的一部分。

4.假设你有以下类和方法的定义(省略了部分代码):

class My_Class:

def my_method(self, value1, value2):

"""假设该方法有2个参数,该方法可以完成某种功能。"""

my_object = My_Class()

最后一行定义了一个名称为my_object的变量,该变量是My_class类的一个对象。以下哪个是使用该对象my_method 方法的正确语法? ·my_object.my_method(1, 2)

5.我们希望小球具备移动的能力,以下哪个设计是正确的?

·class Ball:

def __init__(self, pos, r):

self.center = pos

self.radius = r

def move(self, move_vector):

"""通过加上给定矢量的分量来改变小球的位置"""

self.center[0] += move_vector[0]

self.center[1] += move_vector[1]

# balls : 为Ball对象的列表

balls = …

6.多数面向对象的编程语言允许方法重载,即同一个方法名称可以因其参数的不同而出现多个版本。本题你将通过试验来体会什么是方法重载并验证Python是否支持重载。

请运行以下Python代码:

class Overload(object):

def __init__(self, param1):

pass

def __init__(self, param1, param2):

pass

obj1 = Overload(1)

obj2 = Overload(1, 2)

Overload类定义完成后,我们希望创建2个Overload对象,如果Python支持重载,你将能够使用1个参数创建一个Overload 对象,也能够使用2个参数创建一个Overload对象。通过测试,Python是否支持重载? ·不支持

9.按照Python建议的编码格式要求(PEP 8),类的名称应当遵循首字母大写规则,以下哪些是符合要求的类名称?

·Student ·ImageInfo ·BankAccount

10.Python语言中对象这一术语的含义是什么?请从下面的下拉式列表中选择正确的答案。

·根据类定义创建的一个具体实例

第六周第一页

3.作为类定义的一个例子,请仔细阅读以下代码:

# 游戏角色类的定义

class Character:

def __init__(self, name, initial_health):

https://www.360docs.net/doc/3d10331438.html, = name # 角色名称

self.health = initial_health # 健康值

self.inventory = [] # 装备

# 对象转字符串方法

def __str__(self):

s = "Name: " + https://www.360docs.net/doc/3d10331438.html,

s += " Health: " + str(self.health)

s += " Inventory: " + str(self.inventory)

return s

# 拿起某装备方法

def grab(self, item):

self.inventory.append(item)

# 获取健康值

def get_health(self):

return self.health

上述例子中self参数代表什么? ·Character类的一个对象实例

7.首先在PyCharm中创建一个名称为“银行账户管理“的项目,在该项目中新建一个名称为Account的Python程序文件,然后完成以下类的定义:

# -*- coding: utf-8 -*-

class BankAccount:

def __init__(self, initial_balance):

"""用指定的余额创建一个银行账户"""

self.balance = initial_balance

def deposit(self, amount):

"""将指定金额存入该银行账户"""

self.balance += amount

def withdraw(self, amount):

"""按指定金额从该银行账户取款。注意:余额不足不能取款"""

pass

def get_balance(self):

"""返回该银行账户的当前余额"""

return self.balance

deposit和withdraw方法均会改变该银行账户的余额,调用withdraw方法时如果余额不足(即导致透支)将无法扣款。请实现该业务逻辑。

下面几行代码如果运行后显示0,说明你定义的类是正确的:

my_account = BankAccount(10)

my_account.withdraw(5)

my_account.deposit(10)

my_account.withdraw(20)

my_account.withdraw(15)

print(my_account.get_balance())

请将以下代码复制到你的程序文件的尾部,运行你的程序进行测试,将运行结果填在方框内。

my_account = BankAccount(10)

my_account.withdraw(5)

my_account.deposit(10)

my_account.withdraw(5)

第六周第二页

my_account.deposit(20)

my_account.withdraw(5)

my_account.deposit(10)

my_account.deposit(20)

my_account.withdraw(15)

my_account.deposit(30)

my_account.withdraw(10)

my_account.withdraw(15)

my_account.deposit(10)

my_account.withdraw(50)

my_account.deposit(30)

my_account.withdraw(15)

my_account.deposit(10)

my_account.withdraw(5)

my_account.deposit(20)

my_account.withdraw(15)

my_account.deposit(10)

my_account.deposit(30)

my_account.withdraw(25)

my_account.withdraw(5)

my_account.deposit(10)

my_account.withdraw(5)

my_account.withdraw(15)

my_account.deposit(10)

my_account.withdraw(5)

my_account.withdraw(15)

my_account.deposit(10)

my_account.withdraw(5)

print(my_account.get_balance()) ·25

8.我们将继续使用上一题的BankAccount类,上一题BankAccount类的定义应当经得起该题的测试。一个银行如果只能管理一个账户,它将无法生存,该题我们要测试管理多个账户的能力。

下面7行代码可以测试你定义的类是否满足管理多个账户的要求:

account1 = BankAccount(10)

account1.withdraw(15)

account2 = BankAccount(15)

account2.deposit(10)

account1.deposit(20)

account2.withdraw(20)

print(account1.get_balance(), account2.get_balance())

以上测试代码应当在终端输出30 和5 两个数字。

请将以下测试复制到你的程序文件的尾部,运行你的程序进行测试,观察多个账户经过多次存款、取款操作后结果是什么。account1 = BankAccount(20)

account1.deposit(10)

account2 = BankAccount(10)

account2.deposit(10)

account2.withdraw(50)

account1.withdraw(15)

account1.withdraw(10)

account2.deposit(30)

第六周第三页

account1.deposit(5)

account1.withdraw(10)

account2.withdraw(10)

account2.deposit(25)

account2.withdraw(15)

account1.deposit(10)

account1.withdraw(50)

account2.deposit(25)

account2.deposit(25)

account1.deposit(30)

account2.deposit(10)

account1.withdraw(15)

account2.withdraw(10)

account1.withdraw(10)

account2.deposit(15)

account2.deposit(10)

account2.withdraw(15)

account1.deposit(15)

account1.withdraw(20)

account2.withdraw(10)

account2.deposit(5)

account2.withdraw(10)

account1.deposit(10)

account1.deposit(20)

account2.withdraw(10)

account2.deposit(5)

account1.withdraw(15)

account1.withdraw(20)

account1.deposit(5)

account2.deposit(10)

account2.deposit(15)

account2.deposit(20)

account1.withdraw(15)

account2.deposit(10)

account1.deposit(25)

account1.deposit(15)

account1.deposit(10)

account1.withdraw(10)

account1.deposit(10)

account2.deposit(20)

account2.withdraw(15)

account1.withdraw(20)

account1.deposit(5)

account1.deposit(10)

account2.withdraw(20)

print(account1.get_balance(), account2.get_balance())

以上测试代码应当依次在终端输出两个数字,请将你看到的两个数字填入下面的输入框(用空格隔开两个数字)。·55 115

第六周第四页

B.........

1.本周的“拼图”游戏中画布的宽度,高度和图像块的边长分别是。

这些全局变量的值(以像素为单位)为:·600,700,200

2.本周的“拼图”游戏中画布上有几个图像块:·8

3.本周的“拼图”游戏中空白位置用什么表示:·None None

4.将鼠标点击位置换算成拼图板上横坐标的方法为:·int(pos[0] // IMAGE_SIZE)

5.在类定义的__init__方法中,新对象应该由什么代码返回?·__init__方法中不需要return语句

6.要读懂一段代码,方法很多。你可以尝试用其它不同的代码来实现这段代码的功能,也就是对于相同的起始值,两段代码返回或处理后的结果完全一样。

以下代码定义了一个合并多个列表的函数,这是一种实现方法。例如,list_extend_many([[1,2],[3],[4,5,6],[7]])返回[1, 2, 3, 4, 5, 6, 7] ,该函数不会修改任何参数指向的对象。

def list_extend_many(lists):

"""参数为元素为列表的列表,返回一个合并后的列表"""

result = []

for l in lists:

result.extend(l)

return result

·def list_extend_many(lists): ·def list_extend_many(lists):

result = [] result = []

i = 0 i = 0

while i < len(lists): while i < len(lists):

result += lists[i] result.extend(lists[i])

i += 1 i += 1

return result return result

7.如果Python没有超时终止机制,并且假设循环体内省略的代码中不包含break和return语句,以下哪些程序将永远运行无法终止?你可以在每个循环中添加print语句来观察和理解这些程序的行为。

·n = 127834876 ·n = 1

while n >= 0: while n > 0:

…# 假设这里没有修改n …# 假设这里没有修改n.

n //= 2 n += 1

8.以下哪些代码可以交换列表m的第1和第3个元素?·m = [[1, 2, 3],[4, 5, 6],[7, 8, 9]]

·m = [[1, 2, 3],[4, 5, 6],[7, 8, 9]] ·m = [[1, 2, 3],[4, 5, 6],[7, 8, 9]] for i in range(3):

for i in range(3): m[0], m[2] = m[2], m[0] temp = m[0][i] m[0][i], m[2][i] = m[2][i], m[0][i] m[0][i] = m[2][i]

m[2][i] = temp

9.我们可以用循环迭代来模拟生物进化中的自然选择现象。请编写程序来计算两种“狮头象”(游戏中的生物,自然界并不存在这种生物)不同年代的种群数量。第1年,慢“狮头象”有1000只,快“狮头象”有且仅有1只,快“狮头象”是由一个基因突变产生的,其优势就是可以更好地避开捕食者。每年每个“狮头象”会繁殖1个后代(暂不考虑有性繁殖的其它细节)。此后再没有发生任何基因突变,即慢“狮头象”的后代均为慢“狮头象”,而快“狮头象”的后代均为快“狮头象”。每年慢“狮头象”的死亡率为40%、快“狮头象”的死亡率为30%。

因此,第1年年初慢“狮头象”有1000只,繁殖了1000只慢“狮头象”,共计有2000只慢“狮头象”,其中40%(800只)死亡,第1年年末剩余1200只慢“狮头象”。而第1年年初快“狮头象”有1只,繁殖了1只快“狮头象”,共计有2只快“狮头象”,其中30%(0.6只)死亡,第1年年末剩余1.4只快“狮头象”(为了简化问题,我们允许种群的个体数量包含小数)。

年度慢“狮头象”快“狮头象”

1 1000 1

2 1200 1.4

3 1440 1.96

... ... ...

请注意,上面表中的种群个体数量是每年的年初数字,年末这些数值会发生变化。

从第几年开始,快“狮头象”的数量超过了慢“狮头象”?请在下列文本框中输入你的答案。·45

10.在Python语言中,定义一个类所使用的保留字(关键词)是什么?请在下列输中入框填入你的答案。·class

Python小测试_2

第一周 1.下列关于函数的描述中,正确的说法有哪些? ·函数可以是自己定义的,也可以是Python内置的·一个函数可以被重复调用多次 ·函数可以不带参数,也可以带多个参数·函数可以有返回值,也可以没有返回值 2.一个if语句下可以有多少个elif分支? ·可以是0个,也可以是多个。 3.当p为True,q为False时,布尔表达式not ( p and not q )的结果是什么?【pycharm 上运行】 请在下面的输入框里填写答案True或False。【写print()里运行】·False 4.给定一个正整数x,希望用一个表达式直接求出它的十位数。例如:当x等于923时,得到的结果是2;当x等于1234时,得到的结果是3。下列哪些表达式可以计算出正确的结果?【写print()里运行】 (请在PyCharm中验证下列每个表达式的结果之后再作答) x / 10 ·(x // 10) % 10 (x - x % 10) / 10 ·int(((x - x % 10) % 100) / 10) * 比如: x1=923 x2=1234 print(x1 / 10) 5.函数random.randint(0, 10) 和random.randrange(0, 10)产生的随机数范围不同。值得注意的是,【pycharm 上运行】在大多数Python编程中更习惯使用random.randrange(),因为该函数产生的数值更符合Python的范围习惯。 哪个数字是这两个函数其中一个可以产生的,而另一个函数无法产生的?请把这个数输入到下面的输入框中。·10* 因为:randint a<=x<=b 等于10 randrange a<=x

Python小测试_4

第三周 A...... 1.编写Python程序绘制箭靶的图形,应该按照什么顺序画这些圆?·由大到小 2.下面哪些选项是正确的?【pycharm 上运行】 int("5.4") ·int('5') ·float("5.4") int('5.4') float("5 five") ·int("5") ·float("5") 3.defdate(year, month): 【pycharm 上运行】 """ 给定year和month两个参数, 返回一个字符串,形式为year-month。 例如当year为2015,month为10的时候,返回字符串"2015-10", """ return ??? print(date(2015,10)) ·str(year) + "-" + str(month) 4.仔细阅读下面的描述信息,将其转换为Python程序。【pycharm 上运行】 创建一个300*300像素的画布,画两个圆,线宽均为10像素,颜色为白色,半径为20像素。其中一个圆的坐标为 (90,200),另一个圆的坐标为(210,200)。再画一条红色的直线,线宽为40像素,起始坐标和终止坐标分别为 (50,180)和(250,180)。然后画两条线宽为5像素,颜色为红色的直线,第一条起始和终止坐标分别为(55,170)和(90,120),第二条线起始和终止坐标分别为(90,120)和(130,120)。最后再画一条线宽为140像素,颜色为红色的直线, 起始坐标为(180,108),终止坐标为(180,160)。 运行你的代码,产生的图像是什么?·汽车 5.在SimpleGUITk中,绘制图形的事件处理函数的参数是什么?·画布对象(通常起名为canvas) 6.请问draw_circle,draw_image,draw_text,draw_line等函数应该在程序的哪一部分被调用? ·在可以访问到画布对象(canvas)的函数中 7.当你用draw_text()在画布上绘制文字的时候,如果你设置的文本显示位置超出了画布的坐标,会发生什么事情? (你可以在PyCharm中进行测试后再作答!)·部分或没有文本显示出来,文本显示的位置只有在画布内才会显示出来。 8.Python中哪个操作符可以将两个字符串连接成一个字符串,例如“我正在”和“学习python”连接后成为"我正在学习python"。(建议在idle或PyCharm中对每一个选项进行测试后再作答!)·+ 9.假设画布宽为400像素,高为300像素。要求画出画布的对角线,线的颜色为黄色,线宽为10像素。下面哪几条语句能够完成? canvas.draw_line((400, 400), (300, 300), 10, "yellow") ·canvas.draw_line((400, 0), (0, 300), 10, "yellow") canvas.draw_line((300, 0), (0, 400), 10, "yellow") ·canvas.draw_line((0, 0), (400, 300), 10, "yellow") canvas.draw_line((300, 300), (400, 400), 10, "yellow") 10.计算下列字符串的长度?【pycharm 上运行】 1111l1111l1111l1111l111111*********l11l1l111ll1ll11l111l111l111l111111111l1111l111l111l111l111l1111111 请使用内置函数len统计该字符串的长度,将结果填入下列文本框中。·102 第三周第一页 B....

PYTHON测试题

Python测试题 一、填空题 1.Python使用符号#标示注释;以缩进对齐划分语句块。 2、Python序列类型包括字符串、列表、元组三种; 字典是Python中唯一的映射类型。 3、Python中的可变数据类型有列表和字典,不可变数据类 型有字符串、数字、元组。 4、Python的数字类型分为整数、长整数、浮点、 复数等子类型。 5、Python提供了两个对象身份比较操作符is和is not来测试两个变量是否指向同一个对象,也可以通过内建函数type()来测试对象的类型。 6、设s=‘abcdefg’,则s[3]值是‘d’,s[3:5]值是‘de’, s[:5]值是‘abcdf’,s[3:]值是‘defg’,s[::2]值是‘aceg’,s[::-1]值是‘gfedcba’,s[-2:-5]值是‘’。 二、选择题 1.下列哪个语句在Python中是非法的?() A、x=y=z=1 B、x=(y=z+1) C、x,y=y,x D、x+=y 2.关于Python内存管理,下列说法错误的是()

A、变量不必事先声明 B、变量无须先创建和赋值而直接使用 C、变量无须指定类型 D、可以使用del释放资源 3、下面哪个不是Python合法的标识符() A、int32 B、40XL C、self D、__name__ 4、下列哪种说法是错误的() A、除字典类型外,所有标准对象均可以用于布尔测试 B、空字符串的布尔值是False C、空列表对象的布尔值是False D、值为0的任何数字对象的布尔值是False 5、下列表达式的值为True的是() A、5+4j>2-3j B、3>2>2 C、(3,2)<(‘a’,’b’) D、’abc’>‘xyz’ 6、Python不支持的数据类型有() A、char B、int C、float D、list 7、关于Python中的复数,下列说法错误的是() A、表示复数的语法是real+image j B、实部和虚部都是浮点数 C、虚部必须后缀j,且必须是小写 D、方法conjugate返回复数的共轭复数 8、关于字符串下列说法错误的是() A、字符应该视为长度为1的字符串 B、字符串以\0标志字符串的结束

Python测试题(题)

Python题(共100分) 一.(共18题,1题5分,共90分) 1. 以下是Python比较运算符中的等于的是( ) A. >= B. <= C. == D. = 2. Python中“假”用什么表示?( ) A. True B. false C. False D. true 3. 以下结果为True的是?( ) A. 3 >= 5 B. 4 == 4 C. 5 < 3 D. 5 != 5 4. 我们使用哪个关键字给模块起一个小名呢?( ) A. as B. import C. Python D. sa 5. 以下程序结果为False的是?( ) A. True and True B. True or False C. False and True D. True or True 6. age = 20 beauty = 95 下列程序结果为True的是?( ) A. age >= 18 and beauty >=80 B. age <= 18 and beauty >=80 C. age >= 18 and beauty <=80 D. age <= 18 and beauty <=80 7. score = 55 if score >= 90 : print(‘3个红花’) elif score >= 80 : print(‘2个红花’) elif score >= 60 : print(‘1个红花’) else : print(‘继续努力’) 成绩等级输出的结果是( ) A. 3个红花 B. 2个红花 C. 1个红花 D. 继续努力 8. 以下程序输出的结果是( ) print(‘1’ + ‘1’) A. ‘11’ B. ‘2’ C. ?一 D. 555 9. 以下程序输出的结果是( ) print(1 + ‘1’) A. ‘11’ B. 程序报错 C. 2 D. ‘2’ 10. str() 将值转化成整数 int() 将值转化成字符串 11. year = ‘2017’ 以上程序结果为'20171'的是? ( ) A. print(year + 1) B. print(str(year) + 1) C. print(int(year) + 1) D. print(year + str(1)) 12. if 条件: print(‘我是编程小达人’) 根据上述代码分析:当以下哪个 选项作为条件时, 会在猿编程IDE提示窗口输出 “我是编程小达人”( ) A. 3 <= 5 B. 4 != 4 C. 5 < 3 D. 6 == 5 13. 有代码如下: if 56 == 100: 语句1 语句2 请问执行哪些语句( ) A. 执行语句1和语句2 B. 只执行 语句1 C. 什么都不执行 D. 只执行语句 2 14. print(‘666’ == ‘666’) 执行上面代码,输出的结果是? ( ) A. True B. False C. ‘666’== ‘666’ D. 不知 道 15. 以下程序结果为True的是?( ) A. True and False B. True and True C. False and True D. False and False 16. 以下程序结果为False的是? ( ) A. True or False B. True or True C. False or True D. False or False 17. “年龄小于等于12或者性别为女” 表达正确的是?( ) A. age < 12 or gender == ‘女’ B. age <= 12 or gender = ‘女’ C. age <= 12 or gender == ‘女’ D. age < 12 or gender = ‘女’ 18. age = 25 if age >= 18: print(‘晨晨是成年人’) print(‘晨晨很胖’) 运行程序后交互窗口的显示结 果为( ) 年龄:25 A、晨晨是成年人 晨晨很胖 C、晨晨是宝宝 B、晨晨很胖 D、晨晨是成年人 二.(10分) 1. 电脑中我们向文件内写入内容的 步骤是?( ) A. 写入文件——> 打开文件— —> 关闭文件 B. 打开文件——> 写入文件— —> 关闭文件 C. 打开文件——> 关闭文件— —> 写入文件 D. 关闭文件——> 写入文件— —> 打开文件

Python小测试-3

第二周 A...... 1.用simpleguitk创建的应用程序框架是由哪三部分组成的? 标题 ·控制区域 鼠标 边框 ·画布 键盘 ·状态区域 背景区域 选择区域 2.假设在程序中已经导入simpleguitk,下列哪项对create_frame()函数的调用是正确的?(如果不肯定你的答案,先在PyCharm中测试,然后再作答) ·frame = simpleguitk.create_frame(100, 100, 100, 100) ·frame = simpleguitk.create_frame("测试", 200, 200, 300) ·frame = simpleguitk.create_frame("我的框架", 200, 200) ·frame = simpleguitk.create_frame(150, 150, 150) * import simpleguitk frame=simpleguitk.create_frame() frame.start() 3.用simpleguitk创建交互式应用程序时,通常包含以下7个步骤: 1、定义辅助函数 2、创建框架 3、定义事件处理函数 4、启动框架和定时器 5、初始化全局变量 6、注册事件处理函数 7、定义类 创建程序时最后一步应该是哪一步?注意:上面的7个步骤顺序已被打乱 请选择最后一步对应的数字序号: ·4 4.m = 4 n = 2 def f(m): x = m + n return x 以上程序中,哪些变量的作用范围是全局的? ·m f x ·n

n = 2 def f(m): x = m + n return x 以上程序中,哪些变量的作用范围仅在函数内部? ·m f ·x n 6.用simpleguitk模块开发游戏程序,程序中的事件处理函数是如何产生的? ·你自己通过编写代码来定义事件处理函数 7.假设在程序里声明了一个全局变量x = 8,该程序还要定义一些函数, 以下哪些函数里面需要添加global x 声明?【可以在pycharm 上运行看看】 (如果你没有把握,请在PyCharm对每个选项进行测试后再作答。) def b(x, y): x = x + y return x ·def a(y): x = x + y return y def d(y): y = x + y return y def c(y): return x + y 8.??? frame = simpleguitk.create_frame("我的框架", 200, 200) frame.start() 如果上述程序执行时能够正常生成一个窗口框架(不抛出错误),那么???处可以用 下列哪一条语句替换? ·import simpleguitk 9. count=0 【pycharm 上运行】 def square(x): global count count += 1 return x**2 print (square(square(square(square(5))))) 以上程序执行后,变量count的数值是多少?你可以在PyCharm中进行测试,请将你认为的正确值填入到下面的输入框中。·4

PYTHON测试题

PYTHON测试题

A.defines a list and initializes it B.defines a function, which does nothing C.defines a function, which passes its parameters through D.defines an empty class A. B. C. D. E. A. B. C. D. E. A. B. C. D. E. A. B. C. D. E.

A. B. C. D. E. A.syntax error B.4 C.5 D.6 E.7 A. B. C. D. E. A.7 B.12 C.24 D.36 E.48

Python小测试_7

第六周 A....... 1.每个类的定义必须包含一个初始化方法,该初始化方法的名称是什么?·__init__(两边各2个下划线) 2.Python语言中,函数和方法的主要区别是什么? ·函数在类之外定义,而方法在类当中定义,方法是类的一部分。 4.假设你有以下类和方法的定义(省略了部分代码): class My_Class: … def my_method(self, value1, value2): """假设该方法有2个参数,该方法可以完成某种功能。""" … my_object = My_Class() 最后一行定义了一个名称为my_object的变量,该变量是My_class类的一个对象。以下哪个是使用该对象my_method 方法的正确语法? ·my_object.my_method(1, 2) 5.我们希望小球具备移动的能力,以下哪个设计是正确的? ·class Ball: def __init__(self, pos, r): self.center = pos self.radius = r def move(self, move_vector): """通过加上给定矢量的分量来改变小球的位置""" self.center[0] += move_vector[0] self.center[1] += move_vector[1] # balls : 为Ball对象的列表 balls = … 6.多数面向对象的编程语言允许方法重载,即同一个方法名称可以因其参数的不同而出现多个版本。本题你将通过试验来体会什么是方法重载并验证Python是否支持重载。 请运行以下Python代码: class Overload(object): def __init__(self, param1): pass def __init__(self, param1, param2): pass obj1 = Overload(1) obj2 = Overload(1, 2) Overload类定义完成后,我们希望创建2个Overload对象,如果Python支持重载,你将能够使用1个参数创建一个Overload 对象,也能够使用2个参数创建一个Overload对象。通过测试,Python是否支持重载? ·不支持 9.按照Python建议的编码格式要求(PEP 8),类的名称应当遵循首字母大写规则,以下哪些是符合要求的类名称? ·Student ·ImageInfo ·BankAccount 10.Python语言中对象这一术语的含义是什么?请从下面的下拉式列表中选择正确的答案。 ·根据类定义创建的一个具体实例 第六周第一页

PYTHON测试题

1.what does the following code do?(B) def a(b, c, d): pass A.defines a list and initializes it B.defines a function, which does nothing C.defines a function, which passes its parameters through D.defines an empty class 2.what gets printed? Assuming python version 2.x(A) print type(1/2) A. B. C. D. E. 3. what is the output of the following code?(E) print type([1,2]) A. B. C. D. E. 4. what gets printed?(C) def f(): pass print type(f()) A. B. C. D. E. 5. what should the below code print?(A) print type(1J) A. B. C. D. E.

Python单元测试

Python单元测试 目录 Python适用于做什么的: (2) Python用于单元测试的框架有哪几个? (2) Pytest有什么特点? (2) Pytest的测试文件夹结构 (2) 模块import pytest (3) 所有的测试用例必须以test_x开头,每一个测试用例都是一个函数 (3) Assert 断言 (3) 例子 (3) 测试脚本可以不可以text开头? (3) 断言? (4) pytest运行时的参数? (4) 生成allure 测试报告步骤? (5) ctrl c 终止 (5) airtest是什么? (5) airtest? (6) 装饰器 (6) 装饰器例子 (6) 初始化测试环境与清理测试环境 (8) fixture 夹具 (11) 用法 (11) 参数化定义 (13) 参数化讲解 (14) autouse False (15) Autouse Ture (16) 对测试用例进行编号ids (16) name 别名更改名字 (17) yaml标记语言,应用于一些配置文件 (17) json javascrict 轻轻量级数据交互语言(键文本) (19) allure----美化 (20) story 对一个测试用例进行简述 (20) 定义优先级 (20) step 记录测试用例中的一些步骤 (21) 插入图片,在报告中查看图片 (22)

Python适用于做什么的: Python代码的单元测试框架、检查代码是否存在bug的一个测试工具 Python用于单元测试的框架有哪几个? 1 pytest 2 unittest 3 nose Pytest有什么特点? 1 pytest插件丰富 2 pytest简单灵活 3 支持参数化,将测试数据导入到测试用例中 4支持ci集成测试 Pytest的测试文件夹结构 Str-------pytest所有用例的总目录,以包的形式创建 V1.0-----------1.0版本的测试代码,以包的形式创建 V2.0-----------2.0版本的测试代码

Python基础测试题

Python 基础测试题 一、填空题(每题 2 分,共 20分) 1、Python 提供了两个对象身份比较操作符 _______ 和 _______ 来测试两 个变量是否指向同一个对象, 也可以通过内建函数 _______ 来测试对象的类型。 2、在 Python 中 _______ 表示空类型。 3、列表、元组、字符串是 Python 的 _______ (有序?无序 ) 序列。 4、表达式“ [3] in [1, 2, 3, 4] ”的值为 _______________________ 。 5、已知 x = 3,那么执行语句 x *= 6 之后, x 的值为 6、任意长度的 Python 列表、元组和字符串中最后一个元素的下标为 ____ 7、表达式 'abcab'.replace ('a','yy') 的值为 ________________ 。 8、字典对象的 __________ 方法返回字典中的“键 - 值对”列表。 9、表达式 'ab' in 'acbed' 的值为 _____________ 。 10、表达式 'aaasdf'.strip('af') 的值为 二、选择题:(每题 2分,共 30 分) 1.下列哪个语句在 Python 中是非法的( ) A. x = y = z = 1 B. x = (y = z + 1) 2、Python 语言语句块的标记是( A. 分号 B.逗号 3、下列哪种说法是错误的( ) A. 除字典类型外,所有标准对象均可以用于布尔测试 B. 空字符串的布尔值是 False C. 空列表对象的布尔值是 False D. 值为 0 的任何数字对象的布尔值是 False 4、以下是字符转换成字节的方法是( )。 A . decode () B .encode () C . upper () D .rstrip () C. x, y = y, x )。 C.缩进 D. x += y D. /

PYTHON测试题

a list and initializes it a function, which does nothing a function, which passes its parameters through an empty class A. B. C. D. E. A. B. C. D. E. A. B. C. D. E. A. B. C. D. E.

A. B. C. D. E. error A. B. C. D. E.

to compile 14. If PYTHONPATH is set in the environment, which directories are searched for modules(D)

Python测试开发面试笔试题

Python测试开发面试笔试题 一,中文单项选择题(30分,每个3分) 1.下列哪个语句在Python中是非法的? A、x=y=z=1 B、x=(y=z+1) C、x,y=y,x D、x+=y 2.关于Python内存管理,下列说法错误的是 A、变量不必事先声明 B、变量无须先创建和赋值而直接使用 C、变量无须指定类型 D、可以使用del释放资源 3、下面哪个不是Python合法的标识符 A、int32 B、40XL C、self D、name 4、下列哪种说法是错误的 A、除字典类型外,所有标准对象均可以用于布尔测试 B、空字符串的布尔值是False C、空列表对象的布尔值是False D、值为0的任何数字对象的布尔值是False 5、下列表达式的值为True的是 A、5+4j>2-3j B、3>2>2 C、(3,2)<('a','b') D、’abc’>‘xyz’ 6、Python不支持的数据类型有 A、char B、int C、float D、list 7、关于Python中的复数,下列说法错误的是 A、表示复数的语法是real+image j B、实部和虚部都是浮点数 C、虚部必须后缀j,且必须是小写 D、方法conjugate返回复数的共轭复数 8、关于字符串下列说法错误的是 A、字符应该视为长度为1的字符串 B、字符串以标志字符串的结束 C、既可以用单引号,也可以用双引号创建字符串 D、在三引号字符串中可以包含换行回车等特殊字符

9、以下不能创建一个字典的语句是 A、dict1={} B、dict2={3:5} C、dict3={[1,2,3]:“uestc”} D、dict4={(1,2,3):“uestc”} 10、下列Python语句正确的是 A、min=x if xy?x:y C、if(x>y)print x D、while True:pass 二,英文单项选择题(30分) 1.what gets printed?Assuming python version 2.x() print type(1/2) A. B. C. D. E. 2.What gets printed?() nums=set([1,1,2,3,3,3,4]) print len(nums) A.1 B.2 C.4 D.5 E.7 3.What gets printed?() counter=1 def doLotsOfStuff(): global counter for i in(1,2,3): counter+=1 doLotsOfStuff() print counter A.1 B.3 C.4 D.7 E.none of the above 4.What gets printed?() print r"woow" A.new line then the string:woow B.the text exactly like this:r"woow" C.the text like exactly like this:woow D.the letter r and then newline then the text:woow E.the letter r then the text like this:nwoow 5.Which numbers are printed?()

Python编程基础测试题(一)

Python编程基础测试题(一) 一、填空题(每题2分,共20分) 1、Python内置函数_________可以返回列表、元组、字典、集合、字符串以及range 对象中元素个数。 2、已知列表x = [1, 2, 3],那么执行语句x.insert(1, 4) 只 有,x的值为__________。 3、在循环语句中,__________语句的作用是提前结束本层循环。 4、表达式'Hello world'.lower().upper() 的值为___________。 5、已知函数定义def func(*p):return sum(p),那么表达式 func(1,2,3, 4) 的值为______。 6、已知列表x = list(range(5)),那么执行语句x.remove(3) 之后, 表达式x.index(4) 的值为________。 7、Python内置函数_____________用来打开或创建文件并返回文件对象。 8、已知列表x = [1, 2],执行语句y = x 后,表达式x is y 的值为_____。 9、字典中多个元素之间使用____________分隔开,每个元素的“键”与“值” 之间使用________分隔开。 10、假设有Python程序文件abc.py,其中只有一条语句print(__name__), 那么直接运行该程序时得到的结果为_____________。 二、选择题:(每题2分,共30分) 1.下列关于全局变量及局部变量描述错误的是()。 A. 全局变量可以任意位置调用 B. 全局变量可以在任意位置被赋值 C. 局部变量可以在外部被调用 D. 局部变量可以在外部被赋值 2、有一个列表解析式[for i in range(0,4)]返回的结果是()。 A. [1,2,3,4] B. [0,1,2,3] C. [1,2,3,4,5] D [1,3,4,5]

python实现手机自动化测试

Python实例 -- 实现手机自动化测试 Python实现手机自动化测试,文章中仅包含了简单的测试:安装,运行,卸载的测试,运行完成后会截张图,待脚本运行完成后可以查看图片验证安装运行成功与否,此文章包括介绍了JDK,SDK,Python的配置,图文并茂希望能帮助到需要的人。随后会发布介绍如何python手机自动化测试功能模块,包括验证操作是否预期等。 步骤一安装JDK并配置环境变量 百度搜索JDK下载安装包,我下载的JDK1.8版本,双击EXE文件进行安装,点击下一步。 选择安装目录安装过程中会出现两次安装提示。第一次是安装jdk ,第二次是安装jre。

选择安装目录后点击下一步,等待安装成功。 配置环境变量: 1. 计算机→属性→高级系统设置→高级→环境变量

2. 系统变量→新建 JAVA_HOME 变量。变量值填写jdk的安装目录(我的是默认安装路径 C:\Program Files(x86)\Java\jdk1.8.0_66)

3. 系统变量→寻找 Path 变量→编辑→新建(win10系统)。变量值填写jdk的安装目录文件下的jre→bin的路径。(注意win7xp等系统下原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入路径)

4. 系统变量→新建 CLASSPATH 变量,变量值填写jdk的安装目录文件下的lib文件下tools.jar的路径。配置完毕。 5. 验证配置是否成功,运行cmd ,输入 java –version,如图中显示则配置成功。

步骤二:配置sdk 1. 去百度上搜索下载SDK 文件包并解压好后就可以进行配置了,进入计算机→属性→高级系统设置→高级→环境变量。 2. 系统变量→新建 ANDROID_HOME 变量,变量值填写SDK解压的文件路径。 3. 系统变量→寻找 Path 变量→编辑→新建,变量值分别填写SDK 下的platform-tools和tools的目录路径。

Python自动化测试面试题

1、super 是干嘛用的?在 Python2 和 Python3 使用,有什么区 别?为什么要使用 super?请举例说明。 答: ?super 用于继承父类的方法、属性。 ?super 是新式类中才有的,所以 Python2 中使用时,要在类名的参数中写 Object。Python3 默认是新式类,不用写,直接可用。 ?使用 super 可以提高代码的复用性、可维护性。修改代码时,只需修改一处。 ?代码举例: 1.class baseClass: 2.def test1(self, num): 3.print(num) 4. 5.class sonClass(baseClass): 6.def test2(self): 7.super().test1(num) 8. 9.son = sonClass() 10.son.test1(11) 2、阅读以下代码,推导最后结果: 1.def add(n, i): 2.return n+i 3. 4.def test(): 5.for i in range(4): 6.yield i 7. 8.g = test() 9. 10.for n in [1, 10, 5]: 11. g = (add(n, i) for i in g) 12. 13.print(list(g)) # 结果是 [15, 16, 17, 18] 答:所有的结果都是生成器表达式,不调用它,不从里面取值,就不干活。附上我的推导过程: 1.n = 1 2.g = (add(n,i) for i in test()) 3.# print(list(g)) # [1, 2, 3, 4] 4. 5.n = 10 6.g = (add(n,i) for i in (add(n,i) for i in test())) 7.# print(list(g)) # [20, 21, 22, 23]

Python小测试_1

第零周 1.如果你自己没有计算机,每周你自己的小项目Python程序文件应当保存在哪里? ·将Python程序文件以附件的形式给自己的邮箱发一封邮件·保存在你申请的“云存储上 ·保存在新疆农业大学为你开通的电子邮箱应用箱的网络存储上 2.假设变量x、y分别存储了一个整数(如32、64),下面哪些语句将使x的最终值变为x、y当前值的和(如96)?x=32 比如:x=32 y=64y=64 * 写选择题print(x) 3.你想让变量max_speed保存的值为120来表示高速公路的最高限速,下面哪些简单的Python语句可以实现该功能?·max_speed = 120 max_speed == 120 max_speed := 120 4.1米(meter)等于100厘米(centimeter)。假设变量length_in_centimeter存储的值代表以厘米为单位的长度。 下面表达式中哪些可以将length_in_centimeter所表示的长度转换为以米为单位的长度? 100 / length_in_centimeter 100 * length_in_centimeter·length_in_centimeter / 100 length_in_centimeter * 100 5.以下哪些可以用作Python程序的变量名称?(请在idle或PyCharm中对下面每个名称测试后再作答!) ·gram 100gram·number123·my_number my.number 6.Python程序文件的扩展名称是什么?(文件名称点分割符之后的部分,不包括点)·py 7.要向控制终端输出变量或常量的值,可以使用哪个Python函数?请填写函数名及括号,如abc(),括号内不要带参数。·print() 8.以下哪些为语法正确的字符串?(请在idle或PyCharm对每一个选项进行测试后再作答! "Goodbye!' ·"Hello!"·'Hello!' Hello!“你好!”·"'你好!" 9.以下算数表达式那些正确? 3 * ((2 - 9) + 4)) * (2 + (1 - 3)) ·5 - 1 - 3 - 7 - 0·8 / -2·(7 - 2) / (3 ** 2) Print()里运行得出结果 10.# 税率 tax_rate = 0.15 ncome = 40000 # 免征金额 deduction = 10000 # 计算所得税 tax = (income - deduction) * tax_rate print(tax) ·这些文本是帮助人理解代码的注释语句,Python将忽略这些语句. and 和or 或not 非、否True 真False 假= 表示的是赋值 ==表示的是:比较两边是否相等circle 圆lriangle 三角形line 线条 width宽度height高度/ 除// 余数% 整数部分

PYTHON实现手机自动化测试

Python实例--实现手机自动化测试 Python实现手机自动化测试,文章中仅包含了简单的测试:安装,运行,卸载的测试,运行完成后会截张图,待脚本运行完成后可以查看图片验证安装运行成功与否,此文章包括介绍了JDK,SDK,Python的配置,图文并茂希望能帮助到需要的人。随后会发布介绍如何python手机自动化测试功能模块,包括验证操作是否预期等。 步骤一安装JDK并配置环境变量 百度搜索JDK下载安装包,我下载的JDK1.8版本,双击EXE文件进行安装,点击下一步。 选择安装目录安装过程中会出现两次安装提示。第一次是安装jdk,第二次是安装jre。

选择安装目录后点击下一步,等待安装成功。 配置环境变量: 1.计算机→属性→高级系统设置→高级→环境变量

2.系统变量→新建JAVA_HOME变量。变量值填写jdk的安装目录(我的是默认安装路径C:\Program Files(x86)\Java\jdk1.8.0_66)

3.系统变量→寻找Path变量→编辑→新建(win10系统)。变量值填写jdk的安装目录文件下的jre→bin的路径。(注意win7xp等系统下原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入路径)

4.系统变量→新建CLASSPATH变量,变量值填写jdk的安装目录文件下的lib文件下tools.jar的路径。配置完毕。 5.验证配置是否成功,运行cmd,输入java–version,如图中显示则配置成功。

步骤二:配置sdk 1.去百度上搜索下载SDK文件包并解压好后就可以进行配置了,进入计算机→属性→高级系统设置→高级→环境变量。 2.系统变量→新建ANDROID_HOME变量,变量值填写SDK解压的文件路径。 3.系统变量→寻找Path变量→编辑→新建,变量值分别填写SDK 下的platform-tools和tools的目录路径。

相关主题