|
22春学期(高起本1709-1803、全层次1809-2103)《Python编程基础》在线作业-00002 \$ J4 @! x$ b4 N+ _- y
试卷总分:100 得分:100
& }$ P m; U7 G2 |7 P( K+ L7 F一、单选题 (共 20 道试题,共 40 分)
; P5 @4 z+ `/ B3 s1.已知有代码"for x in y:",则y必然是一个( )。
' j# V0 E9 p& U& a: i1 w6 J. dA.可哈希对象' U. E+ l w, {- H
B.可迭代对象
, H( C9 ~6 N, r' T, b8 VC.列表对象
$ p5 W, j5 Z* _/ \- h# b3 |D.集合对象- A, M7 w. l( q! O9 ]! _
资料:/ k6 o4 e1 e, ?" ?
# g) u S) u8 \6 @* F5 S, L8 `' B4 x
2.程序在运行时,输入数据和输出数据都是存放在( )中。; R& j8 q! e* a+ L, B
A.外存4 R0 d6 {$ c, j- G
B.内存
$ I9 C$ `5 I5 z; Y4 B. OC.CPU) G/ r3 j1 T; w9 w. A1 Z
D.硬盘
% n' x2 T H* ~1 X; _" s资料:& s$ J9 r' e* i
; U7 i, k" ?. T9 z5 h3.在完成一项较复杂的任务时,我们通常会将任务分解成若干个子任务,通过完成这些子任务逐步实现任务的整体目标,采用这种思想的程序设计方法称为( )程序设计方法。) G' X9 ^5 m; C" ^8 b$ a5 V- L
A.面向对象
4 m, H; X. T7 p- uB.面向类! C2 N, l s. H+ r% ?, O8 S
C.结构化
. \" }0 z$ {. i+ \D.分解化9 H8 }1 N$ i- ~$ G, { Q- O9 W
资料:
( |( ^' Q. p* l% b$ \0 q9 Q! _# R. I0 Z$ X% Y H1 Q( V/ Y$ a+ k, Q
4.下列选项中,执行时会报错的语句是( )。7 N# p; o# @0 M. e% B7 J
A.int('23')
* |3 [& y5 D# X# c6 v3 y4 BB.int('23+1')
, [# K" a4 R9 Z( X4 s: AC.int('23',8)
9 V2 A* @# U n" MD.int('2a',16)
O# K% L; N1 i0 P9 \7 s资料:1 l/ z, C3 Z# _( S. l8 B2 X, U* C
' A. ~, \2 a- Y9 X% t$ {6 @8 t
5.( )是计算机完成的一个最基本的操作。/ d5 x7 \: W% K' I ]
A.程序
. b/ Z) x1 A$ R: Y( a$ tB.指令* l% L+ C- E: W4 A# ?5 _2 R5 B
C.代码' b! G2 K6 ?: K8 a/ b
D.命令( v/ H4 ]% o0 _1 k; q8 f
资料:
3 d4 E% j3 H& o; R& ^& W8 I7 W J- Q
6.已知"ls=[1,3,2,5]",则执行"ls.sort(reverse=True)"后ls的值为( )。
8 T2 n v% u/ o. J# `3 sA.[1,3,2,5]
) j9 _! t/ ^( D) vB.[1,2,3,5]
0 C+ H/ P0 T; q0 kC.[5,3,2,1]
- `: o8 Q4 m: p( @D.[5,2,3,1]! ?; p% ^( y, v
资料:
# t& z$ z' m5 w. Y) B" @/ g! ]: T
7.在Python编程环境提示符下直接输入Python代码并执行的运行方式称为( )。
- F+ @' L; {, |1 X' ZA.交互式运行
. E6 f. E: d) }6 m3 RB.脚本式运行
. k! s* W. X b2 |& b3 n( xC.代码式运行
0 R! j: b4 ]" e& h& u+ u Z# o8 VD.即时式运行
; {6 D, l6 q! d/ h资料:
/ [/ Q9 c$ X9 b2 W% T0 r
6 g& I$ f1 d3 n1 O! S( `0 {) @8.已知Student类是一个空类,则通过"Student.name='unknown'"语句增加的属性可以通过( )访问。
( s" h9 _; w/ ^& u; Y& C* y0 mA.类名或对象名6 t- a5 O8 e5 [! a: w
B.仅类名
' A$ y$ l$ h! f6 W; v" ~/ n6 ZC.仅对象名
, h* ?* m. T8 G& i/ c, ^* B9 X! TD.无法访问
- Z" ^0 c& N# r& R% l. h资料:9 R7 m" `9 j) ]- x. n) Q
j& Q( l( x+ ^9.在执行同样代码的情况下,系统会根据对象实际所属的类去调用相应类中的方法,这个特性是类的( )。6 e3 u6 }; _+ s" P8 C' t
A.封装性
3 W: f( N' b" Z2 TB.继承性2 \; y3 _2 v8 ~/ e1 j+ W$ ~7 Z _
C.多态性" T) ~- O1 V$ n: X2 ]
D.自适应性
1 H' g$ p) R; i& t资料:9 K$ V( C- r1 K8 Q
3 a8 j9 V; X. I Z+ Q10.下列选项中,描述正确的是( )。# N$ Y4 e( e9 w+ f; a i
A.一个递归函数中必须有循环语句 B6 _0 |: C3 ~# y2 Z6 c/ U
B.一个函数的函数体中只能调用其他函数、不能调用自己4 A( a" B$ Q. k( F
C.所有问题都可以使用递归方式求解. K( {' f. V) r5 X" v
D.递归函数调用层数太多有可能引起栈溢出的问题
" j: i4 g |$ |+ M资料:! `9 L+ ?6 c+ Z) d1 o% d
: y% {0 y$ n% Z, ^( {9 G11.已知m是一个Match对象,则m.groups()返回的结果必然是一个( )。# A H$ v& q4 q9 Z6 p. D5 O; n
A.字符串" J i) Q1 w, X# ~, g: u' Q! J! q
B.元组
8 h8 i9 O! C) DC.列表
) }5 ^; v4 K5 x2 V s% tD.不确定
; E+ B" E5 g" ~& P资料:* \" X( E5 i4 U; y! f& b) A
/ O; N, I- o; n5 d* g9 G& Z: V
12.re.finditer函数的返回结果必然是( )。( v+ ?: W0 p, A" G
A.列表2 u% \1 ^" m5 T: M, k3 H
B.元组
) t* c v4 \4 U! e: {C.字符串! N" G/ B# ]' T; K
D.迭代器
+ O$ X; ~( a, @' `: t7 p资料:
( Z4 [' K1 s" B5 w8 h. Q4 T
3 i" o. c" `0 w13.下列选项中,用于接收标准输入数据(即从键盘输入)、返回为string类型(字符串)的函数是( )。2 T- \; E2 Q% V. w1 K
A.eval" h+ x( n/ G" v+ ^
B.input
* t7 S: s0 d+ yC.print) V& d$ m9 v# @; e1 v
D.get, Q3 m( m. L' d
资料:) A( R! H* h$ n2 C6 y9 l; a
6 G4 y, l( u4 y
14.在绘制流程图时,只有( )后面允许有多个分支。
' _, _9 [, @& n: D, _A.圆角矩形2 ~5 k5 p8 T7 n: Q
B.圆 ^: @! Y2 ]! ^# q3 w
C.矩形框6 r. E( g% `; _3 J" q; h! E- P
D.菱形框
) j" ?3 Y# U$ C4 F3 ]; K" i# O资料:
* h2 |; W3 X3 F* W I& A9 f1 x. h9 x4 @1 B
15.已知在脚本文件N.py中有函数调用"B.c()",其中B是A包中的模块,则import语句的正确写法是( )。1 o7 g% a/ j. i0 G
A.from A import B- y7 l1 N/ u7 C1 ?
B.from A.B import c
8 b& }( R; [0 eC.import A.B6 e+ S( W7 g6 d) K. V
D.import A.B.c
4 M6 T% d4 ?; o7 ~$ j! }& O* U资料:( D" q2 |% y2 Z2 Z& G1 ]2 b( Z
& S e8 n- |9 @$ m1 |# m$ [16.已知"a=list((1,2))+list((2,3))",则a的值是( )。
/ S' c. M5 X2 ]! s( BA.[1,2,3]7 N# e+ _7 k8 v, P' v, u6 U: C
B.[1,2,2,3]' E2 `; Y" O5 ]( k, a2 N6 ~
C.(1,2,3)
( g: h7 Z2 v( TD.(1,2,2,3)
. f) i0 z0 {. z资料:
2 I- ^2 n$ H/ }, X" |$ Q" L+ j0 s* {% @* K/ q8 y$ b- s: j6 U, w
17.判断一个类是否是另一个类的子类,应使用内置函数( )。
5 C) |! R1 B0 e6 w4 V/ F' Z1 w5 QA.isinstance5 d3 x! J0 y% i
B.issubclass( u2 f7 B9 D' V; N4 h& _$ |: g3 i
C.type
& F5 H; J7 v( m% i! iD.isclass
3 \9 u1 r, V! B资料:
+ [: k6 w9 e M0 ?- S" H, A$ A- {1 X
18.类的静态方法的第一个形参对应( )。
, c; }7 I) ^( R' k" f1 i* @# NA.类
, \) ^2 R+ P4 K2 yB.对象 N" j8 s* E* d
C.第一个实参
* U: D/ V1 k# z- P" @( g- ?D.第二个实参
% W5 Y; Y8 H+ o0 y$ v资料:4 z ]" `( w3 _
) t- t3 e* L: j# Z) z$ F) `# G
19.全局变量的作用域是( )。
! D# t+ u( K4 |- b* l; mA.从定义变量的位置到文件结束位置, y3 O, N7 ?) x$ y" J0 P s; u
B.从定义变量的位置到函数结束位置
+ D3 _# |$ Z$ [7 g% iC.所有函数
@3 y4 G0 J7 h7 GD.所有文件% D1 b% w2 K8 S. u P9 O1 F
资料:
# G( i8 A$ D+ B) D/ E7 t8 h; x. }' y4 G- j+ u# H( n* q- m5 m
20.已知t=(12,34.5,True,'test',3+5j),则下列选项中,输出结果为"('test',)"的选项是( )。4 ^+ T, i! D6 S1 x! n
A.t[3]
, i8 l# [+ ~4 {/ j' M9 M1 \B.t[4]
4 d/ T- {( H; O2 d/ UC.t[3:4]
( L4 S6 o. E! d0 a) YD.t[4:5]
; s: ~* g) X5 d1 j" w资料:6 s: L) Y- j+ ?0 i3 p" G
* f; o- ^8 O# L# W0 E0 ]二、多选题 (共 10 道试题,共 20 分): r0 R) q1 ~- n7 @" L
21.下列选项中,描述正确的是( )。- m" r2 ~9 H+ n) A2 T" Y
A.定义函数时,有默认参数值的形参必须放在没有默认参数值的形参后面2 R3 ?7 t9 A% s# X1 b7 Y
B.位置参数和关键字参数可以混合使用,但位置参数必须在前- N6 E$ I% F N" M6 g3 S
C.位置参数和关键字参数不允许混合使用* @% S; {: X! E/ X
D.关键字参数的形式为"形参=实参"
* k8 f; y& i* @0 u* ^5 Y+ }# \资料:BD
# [/ M4 ]( I6 I; e/ g9 w8 k/ o% t2 L( a9 O) w
22.下列选项中,描述正确的是( )。
* s# I( o$ h) U5 Q" F2 iA.类方法可以通过类名直接调用$ Z H0 B" F" z% N' u( O. Z9 x
B.类方法可以通过类的实例对象调用5 D3 |4 {% G3 e# ]
C.静态方法可以通过类名直接调用
) z4 x. k: o$ M2 Q( _D.静态方法可以通过类的实例对象调用
, n/ |( ]* c( D1 r( j9 i( A资料:BCD
6 W$ b9 C( E9 m6 X- _5 p9 F: x( R n6 h8 p( z1 e7 v- ?
23.下列选项中,有效的Python变量名包括( )。
) j9 A. e) K8 C4 S. K+ UA.test
8 `0 f& a2 S: f6 v. PB._abc
- J( h- e I& P5 {8 G9 Y! Q/ MC.1_a X# H3 ~/ o o
D._t16 t8 J! p. R% `) z5 |
资料:BD# C/ |; P& g" X+ Q' a3 ^! D
0 t. u5 l$ O! _# Q24.自定义迭代器要求在类中必须实现的内置方法包括( )。 S0 x/ `. V8 X6 D+ D; e
A.__str__
+ _! R/ A& R: cB.__init__
( b- Y# U' I' GC.__next__. j+ ~8 |4 A Y6 p/ ]
D.__iter__# R: Y- M6 _. w& b+ O% |4 Y
资料
) }' e: e/ f% d# Z) n
7 b- e1 A c; \2 a25.使用集合的add方法,传入的实参可以是( )。' D! W& o, C- Z
A.数字
( p9 z$ k- ?0 B% E' ~7 H% aB.元组& R) I: q. l3 f; X1 ]* Z
C.列表
" X* L& y) d T; m) YD.字符串" i- i" X, D( u5 ]: t1 R9 |, U: b: O' m
资料:BD
/ a$ ?+ s+ C/ X. q8 c+ B& n) a- [
26.已知在A类中定义了方法fa,在B类中定义了属性b,在C类中定义了方法fc和属性c,A是B的父类,B是C的父类,则C类中的成员包括( )。
: U8 C. ^$ b+ l) yA.fa- a ~( c! i% o5 C) ]' [
B.b
1 x$ w% c5 U! W/ ]3 v! _" O1 g5 aC.fc
6 @) P# Z! w, \0 O' TD.c
/ l- v. N- R# T! Q# Q& t资料:BCD
/ i7 \, X! Y- g
( x5 X; x# `0 h2 |% R3 k4 V27.已知ls=[12,1.5,'abcd'],则下列选项中,执行时不会报错的语句包括( )。
2 D: x9 `; o1 c# [( oA.ls[2]=1; Q9 s" I2 e/ X, i4 M
B.ls[2:]=1' P/ K# v1 V, C8 g/ Q
C.ls[2][1]='e'
# P/ N. c& U. Z+ |& }- g& BD.ls[2:]=[1,2,3]8 k8 @. V+ D ] o- A$ _
资料:5 X$ m3 o0 U q: t# A
( Y6 i0 v4 O$ ?3 r
28.已知"str='i like python'",通过str调用字符串的大小写转换方法后返回结果是"I LIKE PYTHON",则执行的方法调用可以是( )。
1 U6 A' R' u; y/ o4 yA.str.capitalize()
6 u# v/ x% A: }0 RB.str.lower()
, s6 d5 x9 Z7 R ]C.str.upper()
8 }! |; W4 I3 a& v8 z% ~D.str.swapcase()
& V7 _ v7 a$ \3 K5 ~' U( D6 n资料
* ?1 u. x( ?4 R ~$ W( v# @; F" j6 Z* N1 L, |
29.下列选项中,描述正确的是( )。 x0 ?4 b5 K' B6 `! i- C# H0 j# z
A.一个函数中定义的变量可以在另一个函数中使用 C' W: A/ H4 I. @& {8 Q" u$ b
B.所有函数外定义的变量可以在任何一个函数中使用. J$ ~$ V5 U$ t C
C.在一个函数中只能获取全局变量的值、但不能修改全局变量的值
$ Z* K; ?' Q4 F9 N- r% s) SD.一个函数中既能获取全局变量的值、也能修改全局变量的值/ G" Y, F7 K1 F0 N* x% {5 \
资料:
4 V/ _7 A# w( p- o* A, x: w ^# J2 z. w9 C( C+ u# P
30.下列选项中,输出结果为False的选项包括( )。
) ~0 Z1 M5 h7 }9 `. B7 BA.print(False)
; v/ t6 a* K( [- c( {B.print(bool(0))" Z5 z, D; C9 O) G" r
C.print(bool(1))
" V6 r# ` a q" {) G! l* WD.print(bool(''))
+ p6 E9 C Y* |. d4 e资料:BD
- G& k m, F9 B9 I0 z! ]; R ~/ m) [! e4 J k4 O2 G0 q7 ~
三、资料来源:谋学网(www.mouxue.com) (共 20 道试题,共 40 分)
2 \6 C) r" U& \# ^& L' }9 z31.已知m是一个Match对象,则m.start(0)返回的是第1个分组的匹配结果字符串在原字符串中的开始位置。1 N% a! C- X: @
资料:错误
- w/ h0 t2 }1 j# v! x1 s2 c6 l3 T
% ?) G( j& L0 z' A; w& `32.已知x=[1,2,3],则x is [1,2,3]运算结果为True。
+ y# p7 ^2 T# r& v/ p资料:错误! B7 {- M; R/ y6 l
3 L+ y2 G _1 j% R3 \$ z7 Y/ z& }
33.列表的sort方法的key参数接收的函数必须有返回值。9 g8 I) ]5 b8 g1 ^- [3 e6 M
资料:正确6 I7 W# u% L2 Z1 q- _
3 P" o) S7 e- z# C" T
34.如果一个属性只有用于设置属性值的setter方法,而没有用于获取属性值的getter方法,则该属性是一个只写属性。- T% q, R% f( h
资料:错误0 d- J7 L6 n! r1 @
$ Y' l. s* G. s3 f" m2 e35.二进制数转十进制数的规则是"除基取余法"。
# w0 u4 |* b- T8 L \5 J. S6 w资料:错误
! d* j( f, J' c/ h. q9 X
' j. x; J) r3 H9 C+ A. i, ?3 t36.__str__方法的返回值可以是整数。
$ I- j* Y: s/ P" [+ ^' ^) ]+ c( s7 S资料:错误0 G- L" E# E0 G W+ O
+ R3 n ~8 [+ ~$ y8 l3 w/ d37.lambda函数可以作为实参传给高阶函数的形参。
& o% [: P. u8 ?. \资料:正确
8 A" ]; n, K2 G( P3 c! r3 l. U; ~- o. c8 b6 A
38.re.split(r'','tc6 B, c) k! j" S+ P
')的返回结果是['t','c']。
. o+ q* n9 ^6 y- z6 V0 c, m资料:错误/ ~ Z! A% t/ M
( M0 L! ? K( S, b9 c- y5 F7 m
39.Boolean类型是整型的子类型,在作为数字参与运算时,False自动转为1,True自动转为0。
4 U9 ^" e' \7 |8 p$ g* ^# z! j' Z) U资料:错误
; \. E8 B. T+ e3 p( b
* A$ {. `, p9 l7 W$ P40.外层函数定义了局部变量x,如果内层函数只获取x的值、不修改x的值,则可以不使用nonlocal关键字。4 q9 d- A# X. P& K
资料:正确" a8 M( p8 A0 G! ?( z
- p! h: d& O% t5 a( A6 Z, X
41.对于可变类型的对象a,通过"a=b"可以修改a的值,但赋值前和赋值后a所对应的内存地址可能会发生变化。
3 W$ `% x8 O3 k9 c( X$ J% \& _资料:正确
" w8 C3 c! V( r3 p4 c) v0 Q
2 J4 N$ b8 ~6 r V* Y ]42.程序执行时遇到断点就暂停执行,并且可以查看当前各变量的状态。: T0 V7 B8 ]( W0 O1 y+ p8 W
资料:正确# E; f3 D% c( `8 S8 Z+ C5 ^
- l! T! Q% f* M2 x& g% ?% Z
43.通过"min(ls)"可以得到列表ls中最小元素的值。
7 a7 w2 n8 q& ~资料:正确+ F, c) a/ n7 F. d6 k: s3 V% u' L
# E9 c* p* O& H7 E$ A- P
44.对于表达式x in y,其中y必须是可迭代对象。+ J: R& N6 q2 T! O1 i. s- h
资料:正确
% ^ J; N& y1 v3 o% F9 t. }: _$ q+ z
45.猴子补丁是指在运行时动态替换已有的代码,而不需要修改原始代码。# i# T4 T4 `1 T! z6 I
资料:正确
& u& L# E/ ^4 d- j# J# i+ Q( v7 t4 L [! V/ l
46.已知"str1='abcdefabc'",则执行"str2=str1.replace('abc','cba',1)"后,str2中保存的字符串为'cbadefabc'。. E8 T! Z: P( a+ E
资料:正确$ I: D; P5 `0 Z4 j+ I
/ z: A) ~3 R; u% d7 }; R47.Python程序中每条语句以分号结尾。
. } x# e; D; Y7 J资料:错误9 K# v! h" v- ?% D$ D$ B! `
' L4 L8 g* c+ ]/ ?( j+ q& [48.解释是将源代码全部翻译成机器指令,再加上一些描述信息,生成可执行文件。3 ^0 a N: L1 @
资料:错误4 ?' o9 X2 C8 E
; d; J/ y* Q3 H49.已知Student类有一个属性__id,stu是Student类的对象,则通过"stu.__id='1810101'"可以将stu对象中的__id属性赋值为字符串'1810101'。
% Z4 n* u" k, A5 |资料:错误+ P* ?9 V' b' _3 j! @; s
, q3 {7 [' t, }* v; f) S4 f
50.方法重写是指子类可以对从父类中继承过来的方法进行重新定义,从而使得子类对象可以表现出与父类对象不同的行为。- E8 U( y+ s' u. l
资料:正确
" Q A) v. z5 o7 f& [; V* }0 {% X! Q$ q" K. r+ p
# D% J% g6 ^! s
9 @" i) Z8 T: Q% a
0 V1 ~5 _7 E+ y# T+ }+ a1 b; Q
* M3 H! S7 q3 B: |( {
; H. d2 `0 v# ?& h" `3 l7 W
) l+ f5 q5 }5 D& o6 V6 v0 t8 J) }6 c6 n
/ b4 q: ~" \9 C4 z$ s) ~7 v
) }/ w& N' \* e: ^6 i1 \: @3 S/ C( @8 L- U
3 w0 M) X7 k" ?3 |: a$ l" E3 H6 P |
|