整理python练习题答案Word格式.docx
《整理python练习题答案Word格式.docx》由会员分享,可在线阅读,更多相关《整理python练习题答案Word格式.docx(24页珍藏版)》请在冰豆网上搜索。
15.Python语句.join(list('
helloworId!
'
))执行的结果是。
('
helloworld!
)
16.转义字符'
\n'
的含义是o(回车换行)
17.Python语句list(ranged,10,3))执行结果为.([1,4,7])
18.切片操作list(range(6))[:
:
2]执行结果为.([0.2,4])
19.表达式'
ab'
in'
acbed'
的值为—。
(FaIse)
20.Python3.x语句print(1,2,3,sep='
)的输岀结果为。
(1:
2:
3)
21.表达式int(4**0。
5)的值为o
(2)
22.达式sorted([111,2,33],key=lambdax:
-Ien(str(x)))的值为。
([111,33,2])
23.已知列表对象x二['
2'
'
3,],则表达式max(x)的值为。
3'
24.表达式min([?
"
2,,'
])的值为.ClT)
25.已知列表对象x二[*11\52\‘3'
],则表达式max(x,key=len)的值为.
cir)
26•语句x=(3,)执行后x的值为。
((3,))
27•语句x二(3)执行后x的值为o(3)
28.已知x={1:
2},那么执行语句x[2]二3之后,x的值为o({1:
2,
2:
3|)
29.字典对象的方法返回字典中的“键-值对”列表。
(iterns())
30.使用列表推导式得到100以内所有能被13整除的数的代码可以写作
。
([iforiinrange(100)ifi%13==0])
31.表达式3**2的值为o(9)
32.表达式3*2的值为o(6)
33.已知x=[3,5,7],那么执行语句x[len(x):
]=[1,2]之后,x的值为。
([3,5,7,1,2])
34.表达式list(zip([1,2],[3,4]))的值为.([(1,3),(2,
4)])
35•已知x二[1,2,3,2,3],执行语句X.pop()之后,x的值为。
([1,
2,3,2])
36.表达式[xforxin[1.2,3.4,5]ifx<
3]的值为.([1,2])
37.表达式[indexforindex,vaIueinenumerate([3,5,7,3,7])ifvaIue=max
([3,5,7,3,7])]的值为o([2,4])
38.已知path=r'
c:
\test。
html'
那么表达式path[:
-4]+'
htm5的值为。
\\test.htm'
39.表达式’%d,%c'
%(65,65)的值为o('
65,A'
40.表达式Thefirst:
{1},thesecondis{0}'
.format(65,97)的值为
.('
Thefirst:
97rthesecondis65'
41.表达式’:
。
joinCabcdefg'
osplit('
cd'
))的值为.('
ab:
efg'
42.表达式isinstance('
abcdefg'
str)的值为。
仃rue)
43.表达式'
HeIIoworId.IIikePython,'
.find('
python'
)的值为。
(-1)
44.表达式1,'
ojoin('
abccc\n\n\nddd5.split())的值为.('
a,b,ccc,ddd'
45.已知x二’123'
和y二'
456'
那么表达式x+y的值为。
123456'
46.表达式’abcab'
replace('
a'
'
yy‘)的值为.('
yybcyyb'
47.已知tabIe='
'
.maketrans('
abcw1,'
xyzc'
),那么表达式'
HeIlowworId'
transIate
(table)的值为o('
HeIIoccorId5)
48.已知x二{'
b5:
1,'
a1:
2},那么执行语句x.update({’a'
:
3,Jd'
:
4})之后,表
达式sorted(x.itemsO)的值为.([('
3),('
b'
1),('
d‘,
49.已知x=Iist(range(20)),那么语句print(x[100:
200])的输出结果为。
([])
50.表达式sorted(「a'
9,'
b'
3,'
c'
78}.vaIues())的值为。
([3,
9,78])
51.type(1+2*3o14)的结果是:
floatclass
二、阅读程序
1.写岀下面代码的执行结果.
defJoin(List,sep=None):
return(sepor,‘)。
join(List)
print(Join(['
c'
]))
print(Join(['
a'
],'
))
答:
a,b,c
a:
b:
c
2.若k为整数,下述while循环执行的次数为:
9
k二1000
whilek)1:
print(k)
k二k//2
3.写出下面代码的运行结果。
defSum(a,b二3,c=5):
returnsum([a,b,c])
print(Sum(a二8,c=2))
print(Sum(8))
print(Sum(8,2))
13
16
15
4.写出下列程序输岀结果
i=1
whilei+1:
ifi>
4:
print(”%d"
%i)
i+=1
break
5.写出下面代码的运行结果。
defSum(*p):
returnsum(p)
print(Sum(3,5,8))
print(Sum(8))
print(Sum(8,2,10))
答:
8
20
6.下面程序的执行结果是o
(1)
s=0
foriinrange(1,101):
s+二i
else:
print
(1)
7.下面程序的执行结果是。
(1275)
ifi=50:
阅读下面的代码,输出结果为
x=Iist(range(10))
forindex,vaIueinenumerate(x):
ifvalue==3:
x[index]二5
print(x)
将列表X中值为3的元素修改为5o
9.阅读下面的代码,解释其功能:
〉»
importstring
»
>
x二string.ascii_letters+string.digits
importrandom
)>
print(1'
ojoin(randomosampIe(x,10)))
输出由英文字母大小写或数字组成的长度为10且不重复的随机字符串。
10.下面的代码输岀结果为。
(3)
defdemo():
X=5
x=3
demo()
11.下面程序运行的结果为.([5,6,1,2,3,4])
defdemo(Ist,k):
ifk<
len(Ist):
returnlst[k:
]+lst[:
k]
1st二[1,2.3,4,5,6]
demo(Ist.4)
12.下面程序运行的结果为appyNewYear!
Hdeffoo(s):
ifS二二"
returns
else:
returns[1:
]+s[0]
print(fooCHappyNewYear!
*))
13.下面程序运行的结果是{1:
aa'
2:
bb'
3:
ff'
6:
dd‘,87:
,ee,}o
I1=[1,2.3.6,87.3]
I2=faa,/bb999cc999dd'
.,ee\1ff1]d={}
forindexinrange(Ien(11)):
dI11[index]]=I2[index]
printd
14.下面程序运行的结果为[3,2][1,2].
Iist1=[1,2]
Iist2=list1[:
]
Iist1[0]=3
print(Iist1,Iist2)
15.下面程序运行的结果为
age,subject,college=(24,“计算机”,”非重点”)
if(age〉25andsubject="
电子信息工程”)or(college二二”重点"
andsubject=="
电子信息工程”)or(age〈二28andsubject—”计算机"
):
printC*恭喜,你已获得我公司的面试机会!
”)
print(”抱歉,你未达到面试要求“)
16.下面程序运行的结果为
fornuminrange(2,10):
ifnum%2==0:
continue
print(HFindaoddnumern,
numer3
numer5
numer7
numer9
17.下面程序打印结果:
foriinrange(1,7):
print(*'
*2*(6-i),end二'
forjinrange(i,0,—1):
print(j,end="
print0
18.下面程序输入〉〉〉rev('
Iloveyou1)返回值为
defrev1(s):
s=s・split()
s1='
1.join(reversed(s))
returns1
19•阅读程序,打印结果是WOO
defaddInterest(balance,rate):
newBaIance二baIance*(1+rate)
baIance=newBaIancedefmain()
amount^lOOO
rate=0o05
addInterest(amount,rate)
print(amount)
main()
20•阅读程序,打印结果是
defdemo(newitem,oId_Iist=[]):
old_list。
append(newitem)returnold_list
defmain():
print(demo())
print(demo('
))
答案:
['
「a1,'
b,]
21•阅读程序,打印结果是
deffunc5(a,b.*c):
print(a,b)
cisr,%len(c),c)
4.5,6)
print(nlengthofcis%d9
func5(1,2,3.4,5,6)
12
lengthofcis4rcis(3
22•阅读程序,打印结果是(2.5,3,4)
defdemo(*para):
avg=sum(para)/len(para)
g=[iforiinparaifi〉avg]return(avg,)+tuple(g)
print(demo(1,2,3,4))
23•阅读程序,打印结果是
deff(w=1,h=2):
print(w,h)
f()
f(w二3)
f(h二7)
f(a=3)
32
17
错误
24•阅读程序,打印结果是
defsort(number1.number2):
ifnumberl(number2:
returnnumberl,number2
returnnumber2,number1
rd.n2二sort(3,2)
print('
rdis'
rd)printCn2is.n2)
rdis2
n2is3
25•阅读程序,打印结果是1060
defdemo(m,n):
ifm>
n:
m,n二n,m
p=
whilem\-Q:
r=n%m
n二m
m=r
return(n,p//n)
print(demo(20,30))
三、程序填空题
1.下面代码的功能是,随机生成50个介于[1,20]之间的整数,然后统计每个整数岀现频率。
请把缺少的代码补全。
importrandom
x=[randomo(1,20)foriinrange()]
r二diet()
foriinx:
r[i]=r.get(i,)+1
fork,vinr.items():
print(k,v)
分别填写randintX50、0
2.生成包含1000个随机字符的字符串,然后统计前20个高频字符,最后以15个位左对齐输岀高频字符,以5个位右对齐输岀个数•请把缺少的代码补全。
x=string。
ascii_letters+string.digits+string。
punctuation
y=[foriinrange(1000)]
d=diet()
forchiny:
d[ch]=doget(ch,0)+1
/'
tems=list(d.items())
items.sort(,reverse二True)
foriinrange(20):
word,count=items[i]
print(%(word,count))
importstring、random,choice(x)、key二Iambdax:
x[1]、"
%T5s%5d”
3.用户输入5,打印如右图字符金字塔图形,请补全代码:
n=inputC输入行数:
1)
foriinrange(1rn+1):
print(、end二"
’)
forjinrange(1r2*i):
printC,)
print()
n=int(n),1?
*(n—i),end二
4.质因数分解,如输入60,则得到60二2*2*3*5.请补全代码:
x二evaI(input(”请输入小于1000的整数:
k二2
whilex>
1:
if:
print(k,end二"
x二x//k
ifx>
1:
print(”*”,end二””)
答案:
print(x,”二"
,end二”"
),x%k=0,k+=1
5.验证哥第巴赫猜想:
一个大于等于6的偶数可以表示为两个素数之和,请补全代码。
importmath
x二evaI(input(“输入一个数”))
whilex<
6orx%2==1:
#大于6的偶数
x=evaI(input(“输入一个数”))
forrdin:
m1=int(math,sqrt(n1)+1)
foriinrange(2,ml):
#2—sqrt(n1)
m2二math,ceiI(mathosqrt(n2)+1)
forjinrange(2,m2):
ifn2%j==0andj<
n2:
range(3.x//2r2),n1%i=0,n2=x-n1,break
print()
forjinrange(1fi+1):
1%8sf%(s1),end二'
1
*****
*******
*********
***********
+++******
7.输出右边图形•请补充程序:
fori:
print(('
*'
*(2*i-1)).center(30))
foriinrange(6,0,T):
inrange(6);
C*'
(2*i-1))。
center(5*n)
下面代码判断回文串,请补全代码:
s»
雾锁山头山锁雾'
low=0
high=
whileIow<
high:
#倒序和顺序不一样
print(s,”不是回文”)
low+=1
print(s.n是回文串"
len(s)-1,s[low]!
=s[high],break,high;
统计借息
行数
单词数
7
字符数(包含空格)
33
字符数(不包含空格)
27
9.输出右边图形,请补充程序:
s二'
Iamateacher!
Youarestudents!
print(,=,*30)
print(J统计信息'
.center(28))
print()
item_width二25
Iine=SocountC\n)+1
word=s・split()
char二list(s)#包含空格、标点符号
wnum=0
forwinword:
w_num+二
print(1%—*s%5cT%(item_width—3,'
行数'
Iine))
printC%-*s%5d%(「单词数Jlen(word)))
%—*s%5d'
%(item_width—10,'
字符数(包含空格)’,))
print('
%—*s%5d'
%(item_width—11,'
字符数(不包含空格)w_num))
*30)
‘一1*30;
len(w);
item一width-4;
len(char)
10.
输出右边图形,请补充程序:
defdemo(t):
print([1])
Iine=[1,1]
foriinrange(2,t):
forjinrange(0,len(Iine)—1):
roappend()
Iine二[1]+r+[1]
print(Iine)
demo()
print([1,1]),r=[],line[j]+line[j+1],10
四、编程题
1.编写程序,在D盘根目录下创建一个文本文件testotxt,并向其中写入字符串h