雨课堂学堂在线学堂云《Python 交互式程序设计导论(新疆农大 )》单元测试考核答案_第1页
雨课堂学堂在线学堂云《Python 交互式程序设计导论(新疆农大 )》单元测试考核答案_第2页
雨课堂学堂在线学堂云《Python 交互式程序设计导论(新疆农大 )》单元测试考核答案_第3页
雨课堂学堂在线学堂云《Python 交互式程序设计导论(新疆农大 )》单元测试考核答案_第4页
雨课堂学堂在线学堂云《Python 交互式程序设计导论(新疆农大 )》单元测试考核答案_第5页
已阅读5页,还剩39页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

注:不含主观题第1题多选题(2分)以下哪些为语法正确的字符串?(请在idle或PyCharm对每一个选项进行测试后再作答!)A"Goodbye!'B"Hello!"C'Hello!'DHello!E“你好!”F"'你好!"正确答案:BCF第2题单选题(1分)以上代码中#号开头的代码行用红色高亮显示,在Python语言中这些代码行的含义是什么?A这些文本将显示在Python控制台。B这些文本将保存到名称为#的特殊变量中。C这些文本是帮助人理解代码的注释语句,Python将忽略这些语句。D这些为语法错误。第3题多选题(2分)以下算术表达式哪些是语法正确的?A3*((2-9)+4))*(2+(1-3))B5-1-3-7-0C8/-2D(7-2)/(3**2)E9-(2-(4*3)正确答案:BCD第4题单选题(1分)1米(meter)等于100厘米(centimeter)。假设变量length_in_centimeter存储的值代表以厘米为单位的长度。下面表达式中哪些可以将length_in_centimeter所表示的长度转换为以米为单位的长度?Alength_in_centimeter/100Blength_in_centimeter*100C100/length_in_centimeterD100*length_in_centimeter第5题多选题(2分)以下哪些可以用作Python程序的变量名称?(请在idle或PyCharm中对下面每个名称测试后再作答!)Anumber123Bmy.numberCmy_numberDgramE100gram正确答案:ACD第6题多选题(2分)假设变量x、y分别存储了一个整数(如32、64),下面哪些语句将使x的最终值变为x、y当前值的和(如96)?Ax=x+yBx+=yCx+=y+xDy+=xEx=y+x正确答案:ABE第7题多选题(2分)如果你自己没有计算机,每周你自己的小项目Python程序文件应当保存在哪里?A保存在学校机房的计算机磁盘上B保存在实验室的计算机磁盘上C保存在你申请的“云存储上”D将Python程序文件以附件的形式给自己的邮箱发一封邮件正确答案:CD项目提交第1题第1周--小测验第1题多选题(2分)下列关于函数的描述中,正确的说法有哪些?A函数可以是自己定义的,也可以是Python内置的B一个函数可以被重复调用多次C函数可以不带参数,也可以带多个参数D函数可以有返回值,也可以没有返回值正确答案:ABCD第2题单选题(1分)一个if语句下可以有多少个elif分支?A0个B1个C可以是0个,也可以是多个第3题填空题(1分)当p为True,q为False时,布尔表达式not(pandnotq)的结果是什么?请在下面的输入框里填写答案True或False。____正确答案::["False"]第4题多选题(2分)给定一个正整数x,希望用一个表达式直接求出它的十位数。例如:当x等于923时,得到的结果是2;当x等于1234时,得到的结果是3。下列哪些表达式可以计算出正确的结果?(请在PyCharm中验证下列每个表达式的结果之后再作答)Ax/10B(x//10)%10C(x-x%10)/10Dint(((x-x%10)%100)/10)正确答案:BD第5题填空题(1分)函数random.randint(0,10)和random.randrange(0,10)产生的随机数范围不同。值得注意的是,在大多数Python编程中更习惯使用random.randrange(),因为该函数产生的数值更符合Python的范围习惯。哪个数字是这两个函数其中一个可以产生的,而另一个函数无法产生的?请把这个数输入到下面的输入框中。____正确答案::["10"]第6题填空题(1分)在PyCharm中编程实现数学函数f(x)=−5x5+69x2−47,然后利用你的函数计算f(0),f(1),f(2)和f(3)。请将四个结果中的最大值输入在下列方框中。____正确答案::["69"]第7题填空题(1分)在银行存款或是投资理财时我们会接触到复利这个概念。下面这个公式就是以复利模式来计算期末本息合计的:FV=PV(1+rate)periods其中PV是指你的本金,也叫现值。FV是约定期限后的本息合计,也就是第一个计息周期到达后,计算利息,将利息加入本金产生本息合计,第二个计息周期到达后以上期的本息合计为本金再计算利息,逐期滚算到约定期末的本之息和,也叫终值。rate是指利率。periods是计息周期数,而计息周期是计算利息的时间单位,如:年,半年,季,月,周或天。下面是一个利息计算程序的模板:def

future_value(present_value,

annual_rate,

periods_per_year,

years):

#

present_value表示现值

#

annual_rate表示年利率

#

periods_per_year表示每年的计息周期数

#

years表示以年为单位的存款时间

rate_per_period

=

annual_rate

/

periods_per_year

#rate_per_period表示每个计息周期的利率

periods

=

periods_per_year

*

years

#

从这里开始输入你的代码来实现该函数的功能print("存入1000元,年利率为3%,按年计算利息,存3年,最终的本息合计是:",

future_value(1000,

0.03,

1,

3))print("存入1000元,年利率为3%,按月计算利息,存3年,最终的本息合计是:",

future_value(1000,

0.03,

12,

3))print("存入1000元,年利率为3%,按天计算利息,存3年,最终的本息合计是:",

future_value(1000,

0.03,

365,

3))完成你的程序并运行它,注意观察运行结果,请将三种计息方法中最终本息合计的最大值填写在下面的文本框中,小数点后保留四位有效数字。____正确答案::["1061.8348"]第8题单选题(1分)运行下面的程序会报错,SyntaxError:

badinputonline8('return')。这个语法错误表示程序第8行出了什么问题?def

max_of_2(a,

b):

if

a>b:

return

a

else:

return

bdef

max_of_3(a,

b,

c):return

max_of_2(a,

max_of_2(b,

c))A调用函数时参数个数错误B变量名拼写错误C关键字拼写错误D缺少冒号E缺少括号F格式缩进不正确G函数名拼写错误正确答案:F第9题填空题(1分)下面代码有许多错误,其中数学计算是正确的,因此错误都是语法错误。根据错误提示,修改程序,使其能够正确运行。define

project_to_distance(point_x,

point_y,

distance):dist_to_origin

=

math.square_root(pointx

**

2

+

pointy

**

2)

scale

==

distance

/

dist_to_originprint(point_x

*

scale,

point_y

*

scale)

project-to-distance(2,

7,

4)正确的代码运行后会输出两个数字,第一个数字是1.09888451159,请在下面的输入框中填写第二个数字,小数点后保留四位。____正确答案::["3.8461"]第2周--小测验A第1题单选题(1分)假设在程序里声明了一个全局变量x=5,该程序还要定义一些函数,以下哪些函数里面需要添加globalx声明?(如果你没有把握,请在PyCharm对每个选项进行测试后再作答。)Adefd(y):y=x+yreturnyBdefa(y):x=x+yreturnyCdefc(y):returnx+yDdefb(x,y):x=x+yreturnx第2题多选题(2分)a

=

3b

=

6def

f(a):c

=

a

+

breturn

c以上程序中,哪些变量的作用范围是全局的?AfBbCcDa正确答案:BD第3题多选题(2分)a

=

3b

=

6def

f(a):

c

=

a

+

b

return

c以上程序中,哪些变量的作用范围仅在函数内部?AfBaCbDc正确答案:BD第4题单选题(1分)

???f

=

simpleguitk.create_frame("我的框架",

200,

200)f.start()如果上述程序执行时能够正常生成一个窗口框架(不抛出错误),那么???处可以用下列哪一条语句替换?AimportsimpleguitkBimportsimpleguitk.create_frameCimportcreate_frame第2周--小测验B第1题单选题(1分)下列代码中,数字100代表了什么?my_button=frame.add_button("我的标签",button_handler,100)A按钮的宽度,以像素为单位。B按钮的高度,以像素为单位。C按钮的垂直位置,以像素为单位。D按钮的水平位置,以像素为单位。第2题单选题(1分)用SimpleGUITk创建应用程序时,一个程序中最多可以包含多少个命令按钮?A0个B1个C多个第3题单选题(1分)在程序里创建和使用一个标签对象,以下哪些选项是正确的?选项中省略了与题目不相关的代码和参数,您可以将省略的部分补充完整并在Pycharm中对选项进项测试后再作答。Aimportsimpleguitkf=simpleguitk.create_frame(...)f.add_label("我的标签")Bimportsimpleguitkdeflabel_handler():print("处理调用。")f=simpleguitk.create_frame(...)f.add_label("我的标签",label_handler)Cimportsimpleguitksimpleguitk.create_frame(...)simpleguitk.add_label("我的标签")Dimportsimpleguitkframe=simpleguitk.create_frame(...)frame.add_label("标签一")frame.add_label("标签二")第4题单选题(1分)if

p

==

False:return

Falseelif

q

==

Fasle:return

Falseelse:return

True上面这段条件语句程序可以用以下那条简单语句代替?(你可以从逻辑上推理每段代码的输出结果,也可以把代码放在PyCharm中执行获得结果)Areturn(notp)and(notq)Breturn(notp)or(notq)CreturnpandqDreturnnot(porq)第5题单选题(1分)

def

volume_cube(side):

"""

返回给定边长的立方体体积。

"""

print(side

**

3)print("边长为6的立方体的体积是:

",

volume_cube(6)

"。")对上述程序存在的错误描述正确的是?A在print函数中不能对函数volume_cube进行调用,一般情况下,函数的调用都不能在print函数内部进行。B在函数内部应该用return语句返回,而不是用print函数打印结果。C程序中所有的print函数都必须在函数内部使用。第6题单选题(1分)下述选项中,函数的定义正确的是?建议在PyCharm中进行测试后再选择。Adeff(x,y):

#把两个数加起来

returnx+yBdeff(x,y):

#把两个数加起来

returnx+yCdeff(x,y):

#把两个数加起来

returnx+yDdeff(x,y):

returnx+y#把两个数加起来Edeff():

print('我喜欢Python!')正确答案:E第7题单选题(1分)#

Simple

interactive

applicationimport

simpleguitk#

定义全局变量message

=

"欢迎!"count

=

0#

定义事件处理函数def

button_handler():

"""计算按下鼠标的次数。"""

global

count

count

+=

1

print(message,

'

你已经点击了',

count,

'次。')def

input_handler(text):

"""获得信息并显示。"""

global

message

message

=

text

#

创建框架并注册事件处理函数。frame

=

simpleguitk.create_frame("我的框架",

100,

200)frame.add_button("点击我",

button_handler)frame.add_input("新消息:",

input_handler,

100)#

启动框架frame.start()当用户在文本框输入任何内容时,count变量的值都变为0。要实现上述功能,需要对程序的哪个部分进行改动?A在初始化全局变量的部分添加程序,对count变量进行重新赋值B在程序结尾部分添加程序,对count变量进行重新赋值C在按钮的事件处理函数内部添加程序,对count变量进行重新赋值D在文本输入框的事件处理函数内部添加程序,对count变量进行重新赋值第3周--小测验A第1题多选题(2分)下面哪些选项是正确的?Aint("5.4")Bfloat("5.4")Cfloat("5five")Dint("5")正确答案:BD第2题单选题(1分)仔细阅读下面的描述信息,将其转换为Python程序。创建一个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)。运行你的代码,产生的图像是什么?A汽车B小鸟C人D电脑第3题单选题(1分)下图是一个箭靶的图片:

编写Python程序绘制上面的图形,应该按照什么顺序画这些圆?A由大到小B由小到大C随意第4题单选题(1分)Python中哪个操作符可以将两个字符串连接成一个字符串,例如“我正在”和“学习python”连接后成为"我正在学习python"。(建议在idle或PyCharm中对每一个选项进行测试后再作答!)A*BAppendCConcatD+Econcatenate第5题单选题(1分)在SimpleGUITk中,绘制图形的事件处理函数的参数是什么?AFrameB没有参数,不需要输入C图像对象D画布对象(通常起名为canvas)E所画图像的位置第6题单选题(1分)当你用draw_text()在画布上绘制文字的时候,如果你设置的文本显示位置超出了画布的坐标,会发生什么事情?(你可以在PyCharm中进行测试后再作答!)A部分或没有文本显示出来,文本显示的位置只有在画布内才会显示出来。B文本坐标是使用的模运算,因此尽管已经超出了画布大小,但是所有文本还是会显示在画布上。C部分或者全部文本将显示在画布区域外面D程序报错第7题多选题(2分)假设画布宽为200像素,高为300像素。要求画出画布的对角线,线的颜色为绿色,线宽为10像素。下面哪几条语句能够完成?Acanvas.draw_line((200,0),(0,300),10,"Green")Bcanvas.draw_line((300,0),(0,200),10,"Green")Ccanvas.draw_line((0,0),(200,300),10,"Green")Dcanvas.draw_line((300,300),(200,200),10,"Green")正确答案:AC第8题单选题(1分)def

date(year,

month):

"""

给定year和month两个参数,

返回一个字符串,形式为year-month。

例如当year为2015,month为10的时候,返回字符串"2015-10",

"""

return

???

print(date(2015,10))请认真阅读上面的date函数定义,当???为下面的哪个选项时,可以完成函数的要求。(建议在PyCharm或者idle中测试下面每一个选项。)Astr(year)+"-"+str(month)Bstring(year)+"-"+string(month)Cstring(year+"-"+month)Dstr(year+"-"+month)Estring(year-month)第9题单选题(1分)请问draw_text,draw_line等函数应该在程序的哪一部分被调用?A程序任意位置B在可以访问到画布对象(canvas)的函数中第3周--小测验B第1题单选题(1分)如果想要用timer创建1000个事件,下列哪种方法是可行的?A在timer事件中设置一个计数器counter,在timer事件中增加这个计数器counter,通过判断这个counter的大小停止timer。B为timer事件定义一个全局变量,在timer事件外增加这个计数器counter,通过判断这个counter的大小停止timer。C在程序中声明一个全局变量counter,在timer事件处理函数中声明为global,并且增加计数器counter,通过判断counter的大小停止timer。D当创建timer时指定事件的数量。第2题单选题(1分)SimpleGUITk中,一个程序最多可以运行多少个计时器?A1B0C多个第3题单选题(1分)Python中,函数time.time()用来获得当前时间,其返回值的时间单位是下列哪个选项?A分B小时C秒D毫秒第4题单选题(1分)要启动计时器timer,应该执行下面的哪个操作?Atimer.stop()Bstart()Ctimer.start()Dstop()第5题单选题(1分)当Python程序中导入simpleguitk模块时,就不能在”Python在线学习助手“中进行调试了,请问这是为什么?A不想在Python在线学习助手中调试这一类程序B当前“Python在线学习助手”还不支持simpleguitk模块C没有其他原因,只是想换一种调试工具第4周--小测验A第1题多选题(2分)如果我们要将my_list平分成两个子列表,以下哪些分割是正确的?(如果my_list的长度为2n,即为偶数,则两个子列表的长度都应该是n。如果列表的长度为2n+1,即为奇数,则两个子列表的长度分别为n和n+1。)Amy_list[0:len(my_list)//2-1]与my_list[len(my_list)//2:len(my_list)]Bmy_list[:len(my_list)//2]与my_list[len(my_list)//2:]Cmy_list[0:len(my_list)//2]与my_list[len(my_list)//2:len(my_list)]Dmy_list[:len(my_list)//2-1]与my_list[len(my_list)//2:]正确答案:BC第2题单选题(1分)有一个速度为[4,2]的球(不考虑摩擦力和重力)与垂直的墙面碰撞反弹回来,反弹后的速度是多少?A[4,2]B[4,-2]C[-4,2]D[-4,-2]第3题单选题(1分)以下哪个选项正确描述了按键事件处理函数的结构?(导入了SimpleGUITk)Adefkeydown_handler(key):if"left"==KEY_MAP[key]:…Bdefkeydown_handler(key):ifkey=="left":…Cdefkeydown_handler(key):ifkey==simpleguitk.KEY_MAP["left"]:…Ddefkeydown_handler(key):if"left"==simpleguitk.KEY_MAP[key]:…第4题单选题(1分)假设你要给按键事件处理函数编写代码。当运行该程序时,如果按下键不放,则按键处理函数会被调用几次?(请在PyCharm进行测试后再作答!)A不确定——会重复调用,直到你释放按键B2次——开始按下键时和释放按键时各调用一次C1次第5题单选题(1分)键盘上的有些键是其他键的修饰键,如Shift、CapsLock和Ctrl。SimpleGUITk是如何处理修饰键的按键事件的?A当成独立的按键事件——例如,按下Shift键会创建一个独立的事件B修改其他按键——例如,只按‘a’键与同时按Shif和‘a’键会得到不同的值C没有任何效果——例如,按Shift键不会创建事件也不会修改其他事件的行为D以上三种都有可能第6题多选题(2分)在本周的“桌上冰球”游戏中,碰撞检测辅助函数需要判断哪些碰撞情况?(请仔细阅读项目文件并思考后再作答!)A碰右壁B碰左壁C碰上壁D碰下壁E冰球和计算机球槌碰撞F冰球和玩家球槌碰撞G冰球和冰球碰撞H计算机球槌和玩家球槌碰撞正确答案:ABCDEF第4周--小测验B第1题单选题(1分)以下程序代码结束后,所有变量指向的对象有几个?(提示:如果两个变量输出的结果不同,则他们一定指向不同的对象。但是,如果输出的结果相同,却不能肯定是否指向相同的对象。解决这个问题的一种办法是画参考图,另一种办法是修改其中的一个变量观察另一个是否会发生改变,也可以去可视化调试中测试并观察变量的变化。)a

=

["green",

"blue",

"white",

"black"]b

=

ac

=

list(a)d

=

ca[3]

=

"red"c[2]

=

a[1]b

=

a[1

:

3]b[1]

=

c[2]A2B3C4——四个变量指向不同的列表D1——四个变量指向同一个列表第2题单选题(1分)将下面的描述转换成代码,判断点与矩形是否有重叠部分。假设点的坐标是[10,20],持续用[3,0.7]改变该点的坐标(可以用按钮或计时器控制)。同时,在画板中有一个矩形,其四个角的坐标分别是[50,50](左上角)、[180,50](右上角)、[180,140](右下角)、[50,140](左下角)。运行程序并观察点与矩形是否有重叠的部分,即发生碰撞。你不需要编写检测点与矩形碰撞的代码。但是,你需要去思考。AYesBNo第3题单选题(1分)假设游戏中的飞船有一个加速度控制,我们定期做以下更新:(1)在绘图事件中,通过时间间隔乘以速度改变飞船的位置。(2)在绘图事件中,通过时间间隔乘以加速度改变飞船的速度。(3)在键盘事件或计时器事件中,通过阶段性地加某个向量改变飞船的加速度(每一步用相同的向量)假设初始时,飞船是停止的没有加速度,则飞船的飞行轨迹是什么样的?A无法预测其飞行轨迹B直线C平滑的曲线D螺旋线第4题单选题(1分)以下哪一项中的语句,可以保证“桌上冰球”游戏中的球槌沿着球门弧线上下运动?(请仔细阅读项目模板中的代码并思考后再作答!)Amallet_pos[0]=GATE_RADIUS*math.sin(mallet_angle)mallet_pos[1]=CANVAS_HEIGHT/2-GATE_RADIUS*math.cos(mallet_angle)Bmallet_pos[1]=GATE_RADIUS*math.sin(mallet_angle)mallet_pos[0]=CANVAS_HEIGHT/2-GATE_RADIUS*math.cos(mallet_angle)Cmallet_pos[0]=GATE_RADIUS*math.cos(mallet_angle)mallet_pos[1]=CANVAS_HEIGHT/2-GATE_RADIUS*math.sin(mallet_angle)Dmallet_pos[1]=GATE_RADIUS*math.cos(mallet_angle)mallet_pos[0]=CANVAS_HEIGHT/2-GATE_RADIUS*math.sin(mallet_angle)第5题单选题(1分)在Python中,[1,2,3]是列表类型,那么,(1,2,3)的类型是什么?A数组B元组C集合D字典第6题多选题(2分)在Python中,以下哪些类型可以通过下标修改其中的某个分量?A数值型B字符串C布尔型D列表E元组F字典正确答案:DF第7题单选题(1分)point

=

[0,

0]def

function1(

):

point[0]

+=

1

point[1]

+=

2def

function2(

):

point

=

[50,

50]以下哪个函数为了修改全局变量point,必须包含globalpoint申明?Afunction1Bfunction2第8题多选题(2分)以下程序中的问号用哪两条语句替换后,会使变量x和y的值均为[0,1,10,3,4]?x=list(range(5))??????Ay=xx=[0,1,10,3,4]By=xx[2]=10Cx=yx[2]=10Dy=xy=[0,1,10,3,4]Ey=xy[-3]=10Fy[-3]=10x=y正确答案:BE第9题单选题(1分)在Python程序中,用变量position表示画布中一个二维点的位置。如果用变量delta来修改该点的位置,以下代码段为什么是不正确的?position

=

[50,

50]delta

=

[1,

-2]…position

=

position

+

deltaAdelta的一个元素为负值B列表不支持+运算C对列表的+运算并不是列表中的元素对应相加Dposition中的值不允许修改第5周--小测验A第1题单选题(1分)假设有一个游戏的背景是一张地图,在游戏一开始,我们可能想要让每一个玩家都随机地出现在这张地图的不同位置。import

randomdef

random_point():

"""返回一个在100x100

以内随机的网格."""

return

(random.randrange(100),

random.randrange(100))def

starting_points(players):

"""给每一个玩家随机分配起始地址."""

points

=

[]

for

player

in

players:

point

=

random_point()

......

return

points下列哪个表达式在替换了代码中的......后,可以完成函数的功能?Apoints.append(point)Bpoints.extend(point)Cpoint.append(points)Dpoint.extend(points)Epoints+pointFpoints+=point第2题单选题(1分)假设下列函数可以检查给定的list中的数字是否按升序排列。比如,我们想让is_ascending([2,6,9,12,400])返回True。相反,让is_ascending([4,8,2,13])返回False。def

is_ascending(numbers):

"""返回数字列表中的数字是否是按升序排列的"""

for

i

in

range(len(numbers)):

if

numbers[i]

>

numbers[i+1]:

return

False

return

True然而,这个函数不能很好的工作,请对函数中代码进行分析,确定对函数中红色的代码用以下哪个选项替换,可以使程序正常运行。Arange(len(numbers-1))Brange(len(numbers))-1Crange(len(numbers)-1)Drange(1,len(numbers))第3题单选题(1分)如果要移除列表中多个元素,可以使用del带索引的子集运算t

=

['红',

'橙','黄','绿','蓝','紫']del

t[1:5]print(t)上述代码输出的结果是?A['红','紫']B['红','橙','黄','绿','蓝']C['绿']第4题单选题(1分)鼠标点击事件处理函数所代入的参数类型是?ANumberBTupleCTextInputDListEBooleanFString第5题多选题(2分)my_list是一个列表,下列哪些表达式可以修改my_list的值?(请在idle或PyCharm对每一个选项进行测试后再作答!)Amy_list.reverse()Banother_list.extend(my_list)Cmy_list.append(10)Dmy_list+[10,20]Emy_list.extend([10,20])正确答案:ACE第6题单选题(1分)假如我们要删除一个列表顶部的元素,比如,我们将苹果从["苹果","梨子","蓝莓"]中删除,代码如下:fruits

=

["苹果",

"梨子",

"蓝莓"]fruit

=

......print

(fruit,

fruits)请问,下列哪一种方法或者函数替换“......”可以到达描述效果?Afruits.pop()Bfruits[1:]Cfruits.pop(0)Dfruits[0]Efruits.remove("apple")第7题单选题(1分)在Python3.4中,下列哪些表达式可以生成列表[2,5,8,11,14]?Alist(range(2,16,3))Blist(range(1,15,3))Clist(range(15,2,-3))第8题单选题(1分)下列代码所完成的功能是计算列表中所有数字之和。numbers

=

[…]???for

n

in

numbers:

product

+=

n使用下列哪一个表达式替换???,可以完成上述功能Aproduct=1Bproduct=numbers[1]Cproduct=[]Dproduct=0Eproduct=numbers[0]第9题单选题(1分)def

reverse_string(s):

"""将给定的字符串反向输出."""

......

for

char

in

s:

result

=

char

+

result

return

resultprint

reverse_string("新疆农业大学")将下列哪个表达式替代代码中的......,可以完成函数对字符串反向输出的功能?是一个用于操作字符串的函数,这个函数的功能是将字符串反向输出。Aresult=0Bresult=""Cresult=[]Dresult=""第5周--小测验B第1题多选题(2分)下列哪些表达式相当于一个空字典?A[]B()Cdict()D{}正确答案:CD第2题单选题(1分)有一个字典名为favorites,下列哪一个表达式可以以键为“水果”,值为“苹果”这样一条记录加入到favorites字典当中?Afavorites={"水果":"苹果"}Bfavorites["水果"="苹果"]Cfavorites["水果"]="苹果"Dfavorites["水果":"苹果"]第3题多选题(2分)可以作为字典中“键”(key)的数据类型有哪些?AListsBDictionariesCNumbersDTuplesEStrings正确答案:CDE第4题多选题(2分)字典中”值”的数据类型可以是哪些?ADictionariesBBooleansCListsDTuples正确答案:ABCD第5题单选题(1分)我们经常需要遍历(逐一访问)字典中的“键值对”,假设变量my_dict是字典,通常一种遍历这个字典的方法如下:for

key

in

my_dict:

value

=

my_dict[key]

…然而,有一种更好的方法可以替换上述方法,代码如下:for

key,

value

in

???

:

…下列哪一行代码用于替换???,可以达到同样的效果?Amy_dict.keys_values()Bmy_dict.keys()Clist(my_dict)Dmy_dict.values()Eitems(my_dict)Fmy_dict.items()正确答案:F第6题多选题(2分)从概念上讲,字典的用途可以描述两个数据之间的关系,一个键对应一个值。下列哪种情况是上述关系的实例。注意:不需要额外的描述就能反映这种关系。A存放传感器的数据样本B存放姓名C存放传感器采样时间和对应样本数据D存放学号和姓名正确答案:CD第7题单选题(1分)根据下列代码,显示图像的一部分,缩放图像在画布上的显示比例。import

simpleguitk

as

simpleguiframe_size

=

[200,

200]image_size

=

[1521,

1818]def

draw(canvas):

canvas.draw_image(image,

image_size,

[image_size[0]

/

2,

image_size[1]

/

2],

[frame_size[0]

/

2,

frame_size[1]

/

2],

frame_size)frame

=

simplegui.create_frame("test",

frame_size[0],

frame_size[1])frame.set_draw_handler(draw)image

=

simplegui.load_image("/c4x/xjauX/CS101/asset/3a-10.png")frame.start()运行这个程序,观察会发现没有任何显示,问题是什么?Adraw_image中的目标参数是错误的。我们并没有指定将图像绘制在这么大画布上的值Bdraw_image的源参数不正确。我们试图加载未在图像内的像素,而导致图像加载失败Cdraw_image的一个或多个参数是错误的数据类型D这个文件不是图像格式E文件不存在第8题单选题(1分)本周的“世界杯八强连连看”游戏中,每张图片(国旗)实际显示的大小(像素)是以下哪个选项?A[1024,1024]B[128,128]C[256,256]D[256/2,256/2]第9题单选题(1分)在本周的“世界杯八强连连看”游戏中,每张图片(国旗logo)的翻转状态是由列表exposed来控制的。请问这个列表中每个元素的数据类型是什么?另外,这个列表应该包含的元素个数是多少?Aint,8Bint,16CBoolean,8DBoolean,16第10题多选题(2分)在本周的“世界杯八强连连看”游戏过程中,每一次点击图片(国旗logo)会发生翻转的图片个数有可能是多少?A0B1C2D3正确答案:BD第6周--小测验A第1题单选题(1分)多数面向对象的编程语言允许方法重载,即同一个方法名称可以因其参数的不同而出现多个版本。本题你将通过试验来体会什么是方法重载并验证Python是否支持重载。请将以下描述转换为Python代码:

定义一个类,类的名称为Overload

定义该类的第一个__init__方法,此方法除了标准的self参数之外,另有一个参数,此方法只包含一条pass语句

定义该类的第二个__init__方法,此方法除了标准的self参数之外,另有两个参数,此方法只包含一条pass语句Overload类定义完成后,我们希望创建2个Overload对象,如果Python支持重载,你将能够使用1个参数创建一个Overload对象,也能够使用2个参数创建一个Overload对象。通过测试,Python是否支持重载?A不支持B支持第2题多选题(2分)按照PEP8建议的Python编码格式要求,类的名称应当遵循首字母大写规则,以下哪些是符合要求的类名称?AStudentBImageInfoCImage_InfoDBankAccountEBankaccountFBank_AccountGBank_accountHbank_account正确答案:ABD第3题单选题(1分)Python语言中对象这一术语的含义是什么?请从下面的下拉式列表中选择正确的答案。A女孩的男朋友B男孩的女朋友C根据类定义创建的一个具体实例DPython代码实现的目标第4题单选题(1分)每个类的定义必须包含一个初始化方法,该初始化方法的名称是什么?A和类的名称相同B_init_(两边各1个下划线)CinitD__init__(两边各2个下划线)第5题单选题(1分)Python语言中,函数和方法的主要区别是什么?A方法由内置库模块定义,而函数由你自己的代码定义。B它们没有区别,两种叫法可以互换。C函数在类之外定义,而方法在类当中定义,方法是类的一部分。D方法有一个名称为self的参数,而函数没有该参数。第6题单选题(1分)作为类定义的一个例子,请仔细阅读课程视频讲座中提到的以下代码:#

游戏角色类的定义class

Character:

def

__init__(self,

name,

initial_health):

=

name#

角色名称

self.health

=

initial_health

#

健康值

self.inventory

=

[]

#

装备

#

对象转字符串方法

def

__str__(self):

s

=

"Name:

"

+

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参数代表什么?ACharacter类的一个对象实例BCharacter类C代表正被定义的那个方法D代表传递给它的任何东西第7题单选题(1分)假设你有以下类和方法的定义(省略了部分代码):class

My_Class:

def

my_method(self,

value1,

value2):

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

…my_object

=

My_Class()最后一行定义了一个名称为my_object的变量,该变量是My_class类的一个对象。以下哪个是使用该对象方法的正确语法?Amy_method(my_object,1,2)BMy_Class.my_object.my_method(1,2)Cmy_object.my_method(1,2)DMy_Class.my_method(my_object,1,2)Emy_method(My_Class,1,2)第8题单选题(1分)我们希望小球能够四处移动,以下哪个设计封装性最好?AclassBall:def__init__(self,c,r):self.center=cself.radius=r#balls:为Ball对象的列表balls=…defmove(ball,move_vector):"""通过加上给定矢量的分量来改变给定小球的位置"""ball.center[0]+=move_vector[0]ball.center[1]+=move_vector[1]BclassBall:def__init__(self,c,r):self.center=cself.radius=rdefmove(self,move_vector):"""通过加上给定矢量的分量来改变小球的位置"""self.center[0]+=move_vector[0]self.center[1]+=move_vector[1]#balls:为Ball对象的列表balls=…CclassBall:def__init__(self,c,r):self.center=cself.radius=rdefget_position(self):returnself.centerdefset_position(self,new_position):self.center=new_position#balls:为Ball对象的列表balls=…defmove(ball,move_vector):"""通过加上给定矢量的分量来改变给定小球对象的位置"""position=ball.get_position()position[0]+=move_vector[0]position[1]+=move_vector[1]ball.set_position(position)D#centers:点的列表,代表每个小球的中心坐标centers=…#radii:数字的列表,代表每个小球的半径radii=…defmove(ball_number,move_vector):"""通过加上给定矢量的分量来改变给定编号的小球位置"""centers[ball_number][0]+=move_vector[0]centers[ball_number][1]+=move_vector[1]第6周--小测验B第1题单选题(1分)本周的“华容道”游戏中有多个图片来表示不同的三国人物,其中黄忠、张飞、马超、赵云4个人物的图片原始大小相同(这里指的是宽度和高度一样)。这4个人物的图片原始宽度和高度(以像素为单位)为:A100,100B100,200C200,100D200,200第2题单选题(1分)本周的“华容道”游戏中曹操这个人物的图片原始宽度和高度(以像素为单位)为:A100,100B100,200C200,100D200,200第3题单选题(1分)本周的“华容道”游戏中关羽这个人物的图片原始宽度和高度(以像素为单位)为:A100,100B100,200C200,100D200,200第4题单选题(1分)本周的“华容道”游戏中4个士兵的图片原始宽度和高度(以像素为单位)为:A100,100B100,200C200,100D200,200第5题单选题(1分)在类定义的__init__方法中,新对象应该由什么代码返回?AreturnBreturnselfCreturn对象的名称D__init__方法中不需要return语句第6题多选题(2分)要读懂一段代码,方法很多。你可以尝试用其它不同的代码来实现这段代码的功能,也就是对于相同的起始值,两段代码返回或处理后的结果完全一样。以下代码定义了一个并多个列表的函数,这是一种实现方法。例如,list_extend_many(),返回[1,2,3,4,5,6,7],该函数不会修改任何参数指向的对象。def

list_extend_many(lists):

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

result

=

[]

for

l

in

lists:

result.extend(l)return

result下列哪些定义和上述定义等价?即只要输入参数相同,返回结果就相同,并且不会修改任何参数指向的对象,也不修改任何全局变量。Adeflist_extend_many(lists):

result=[]

i=0

whilei<len(lists):

result+=lists[i]

i+=1

returnresultBdeflist_extend_many(lists):

result=[]

foriinrange(len(lists)-1,-1,-1):

result.extend(lists[i])

returnresultCdeflist_extend_many(lists):

result=[]

i=len(lists)

whilei>=0:

i-=1

result.extend(lists[i])

returnresultDdeflist_extend_many(lists):

result=[]

i=0

whilei<len(lists):

result.extend(lists[i])

i+=1

returnresult正确答案:AD第7题多选题(2分)如果Python没有超时终止机制,并且假设循环体内省略的代码中不包含break和return语句,以下哪些程序将永远运行无法终止?你可以在每个循环中添加print语句来观察和理解这些程序的行为。An=127834876whilen>=0:…#假设这里没有修改nn//=2Bmy_list=…forxinmy_list:…#假设这里没有修改my_list.Cn=1whilen>0:…#假设这里没有修改n.n+=1Dn=1000whilen>0:…#假设这里没有修改n.n-=1正确答案:AC第7周--小测验A第1题多选题(2分)下面我们为二维平面中的点定义以下类:

class

Point2D:

def

__init__(self,

x

=

0,

y

=

0):

self.x

=

x

self.y

=

y

def

translate(self,

deltax

=

0,

deltay

=

0):

"""通过x方向增加deltax、y方向增加deltay来移动该点"""

self.x

+=

deltax

self.y

+=

deltay

…以下哪些代码片段是对Point2D的初始化方法及translate方法的有效使用?APoint2D=(3,9)Point2translate(5,-2)BPoint2D(3,9)Point2translate(5,-2)Cpoint=Point2D(3,9)point.translate(5,-2)Dpoint1=Point2D(3,9)point2=Point2D()point2.translate(20,4)正确答案:CD第2题多选题(2分)用SimpleGUITk绘制圆时,需要指定圆的线条和内部填充颜色,以下哪些选项可以表示蓝色?Argb(255,0,0)BBlueCrgb(0,0,255)DblueE“#0000FF”正确答案:BDE第3题单选题(1分)让我们继续使用第1题中定义的类:

class

Point2D:

def

__init__(self,

x

=

0,

y

=

0):

self.x

=

x

self.y

=

y

def

translate(self,

deltax

=

0,

deltay

=

0):

"""通过x方向增加deltax、y方向增加deltay来移动该点"""

self.x

+=

deltax

self.y

+=

deltay

…以下哪些代码片段是对Point2D的初始化方法及translate方法的有效使用?Apoint=Point2D(3,6)tup=tuple(point)Bpoint=Point2D(3,6)s=str(point)Cpoint=Point2D(3,6)s=str(point)newpoint=Point(s)Dpoint=Point2D(3,6)lst=list(point)x=lst[0]第4题单选题(1分)在SimpleGUITk中,draw_image函数的第6个可选参数用来确定一个矩形围绕其中心点的旋转角。该参数为正值时图形的旋转方向是什么?旋转角是用什么来表示的?A顺时针,弧度B顺时针,角度C逆时针,角度D逆时针,弧度第5题单选题(1分)假设我们需要在屏幕上产生10个精灵(Sprite)对象,每个小精灵都一模一样。我们需要用到ImageInfo和Sprite这两个类。那么应该创建多少个ImageInfo对象和多少个Sprite对象?A10个ImageInfo对象,10个Sprite对象B1个ImageInfo对象,10个Sprite对象C1个ImageInfo对象,1个Sprite对象D10个ImageInfo对象,1个Sprite对象第6题多选题(2分)以下的代码的输出的结果是什么?请先思考后,用PyCharm验证。class

Parent(object):

x

=

1class

Child1(Parent):

passclass

Child2(Parent):

passprint(Parent.x,

Child1.x,

Child2.x)Child1.x

=

2print(Parent.x,

Child1.x,

Child2.x)Parent.x

=

3print(Parent.x,

Child1.x,

Child2.x)A111B121C323D321正确答案:ABC第7题多选题(2分)假设“/ProjectResource/other/三字经.txt”链接和你的项目文件夹中的"三字经.txt"内容相同,而且两个文件均采用utf-8编码,以下哪种方法可以正确打开文件“三字经.txt”?Ainput_file=open("三字经.txt",encoding='utf-8')Binput_file=open_file("三字经.txt",encoding='utf-8')Cinput_file=openfile("三字经.txt",encoding='utf-8')Dinput_file=open("/ProjectResource/other/三字经.txt",encoding='utf-8')正确答案:AD第8题单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论