python练习题答案.docx

上传人:b****6 文档编号:6969790 上传时间:2023-01-13 格式:DOCX 页数:20 大小:101.15KB
下载 相关 举报
python练习题答案.docx_第1页
第1页 / 共20页
python练习题答案.docx_第2页
第2页 / 共20页
python练习题答案.docx_第3页
第3页 / 共20页
python练习题答案.docx_第4页
第4页 / 共20页
python练习题答案.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

python练习题答案.docx

《python练习题答案.docx》由会员分享,可在线阅读,更多相关《python练习题答案.docx(20页珍藏版)》请在冰豆网上搜索。

python练习题答案.docx

python练习题答案

Python练习题库

By郑红波2017-12-19

一、填空题

1.Python标准库math中用来计算平方根的函数是__________。

(sqrt)

2.在Python中__________表示空类型。

(None)

3.列表、元组、字符串是Python的_________(有序无序)序列。

(有序)

4.查看变量类型的Python内置函数是________________。

(type())

5.查看变量内存地址的Python内置函数是_________________。

(id())

6.表达式[1,2,3]*3的执行结果为______________________。

([1,2,3,1,2,3,1,2,3])

7.list(map(str,[1,2,3]))的执行结果为_____________________。

([‘1’,‘2’,‘3’])

8.·

9.已知x=3,并且id(x)的返回值为0,那么执行语句x+=6之后,表达式id(x)==0的值为___________。

(False)

10.已知x=3,那么执行语句x*=6之后,x的值为________________。

(18)

11.表达式“[3]in[1,2,3,4]”的值为________________。

(False)

12.假设列表对象aList的值为[3,4,5,6,7,9,11,13,15,17],那么切片aList[3:

7]得到的值是______________________。

([6,7,9,11])

13.使用列表推导式生成包含10个数字5的列表,语句可以写为_______________。

([5foriinrange(10)])

14.假设有列表a=['name','age','sex']和b=['Dong',38,'Male'],请使用一个语句将这两个列表的内容转换为字典,并且以列表a中的元素为“键”,以列表b中的元素为“值”,这个语句可以写为_____________________。

(c=dict(zip(a,b)))

15.任意长度的Python列表、元组和字符串中最后一个元素的下标为________。

(-1)

16.Python语句''.join(list('helloworld!

'))执行的结果是____________________。

('helloworld!

')

17.转义字符’\n’的含义是___________________。

(回车换行)

18.Python语句list(range(1,10,3))执行结果为___________________。

([1,4,7])

19.!

20.切片操作list(range(6))[:

:

2]执行结果为________________。

([0,2,4])

21.表达式'ab'in'acbed'的值为________。

(False)

22.Python语句print(1,2,3,sep=':

')的输出结果为____________。

(1:

2:

3)

23.表达式int(4**的值为____________。

(2)

24.达式sorted([111,2,33],key=lambdax:

-len(str(x)))的值为____________。

([111,33,2])

25.已知列表对象x=['11','2','3'],则表达式max(x)的值为___________。

('3')

26.表达式min(['11','2','3'])的值为_________________。

('11')

27.已知列表对象x=['11','2','3'],则表达式max(x,key=len)的值为___________。

('11')

28.语句x=(3,)执行后x的值为_______________。

((3,))

29.语句x=(3)执行后x的值为________________。

(3)

30.。

31.已知x={1:

2},那么执行语句x[2]=3之后,x的值为________________。

({1:

2,2:

3})

32.字典对象的_____________方法返回字典中的“键-值对”列表。

(items())

33.使用列表推导式得到100以内所有能被13整除的数的代码可以写作___________________________________。

([iforiinrange(100)ifi%13==0])

34.表达式3**2的值为_________。

(9)

35.表达式3*2的值为___________。

(6)

36.已知x=[3,5,7],那么执行语句x[len(x):

]=[1,2]之后,x的值为______________。

([3,5,7,1,2])

37.表达式list(zip([1,2],[3,4]))的值为________________________。

([(1,3),(2,4)])

38.已知x=[1,2,3,2,3],执行语句()之后,x的值为_____________。

([1,2,3,2])

39.表达式[xforxin[1,2,3,4,5]ifx<3]的值为_____________________。

([1,2])

40.表达式[indexforindex,valueinenumerate([3,5,7,3,7])ifvalue==max([3,5,7,3,7])]的值为__________________。

([2,4])

41.(

42.已知path=r'c:

\',那么表达式path[:

-4]+'htm'的值为__________。

('c:

\\')

43.表达式'%d,%c'%(65,65)的值为________。

('65,A')

44.表达式'Thefirst:

{1},thesecondis{0}'.format(65,97)的值为______________________________。

('Thefirst:

97,thesecondis65')

45.表达式':

'.join('abcdefg'.split('cd'))的值为______________。

('ab:

efg')

46.表达式isinstance('abcdefg',str)的值为____________。

(True)

47.表达式'Helloworld.IlikePython.'.find('python')的值为________。

(-1)

48.表达式','.join('abccc\n\n\nddd'.split())的值为______________。

('a,b,ccc,ddd')

49.已知x='123'和y='456',那么表达式x+y的值为______________。

('123456')

50.表达式'abcab'.replace('a','yy')的值为___________。

('yybcyyb')

51.已知table=''.maketrans('abcw','xyzc'),那么表达式'Hellowworld'.translate(table)的值为______________________。

('Helloccorld')

52.]

53.已知x={'b':

1,'a':

2},那么执行语句({‘a’:

3,‘d’:

4})之后,表达式sorted())的值为____________________。

([('a',3),('b',1),('d',4)])

54.已知x=list(range(20)),那么语句print(x[100:

200])的输出结果为_______________。

([])

55.表达式sorted({'a':

9,'b':

3,'c':

78}.values())的值为_____________。

([3,9,78])

56.type(1+2*的结果是:

floatclass

二、阅读程序

1.写出下面代码的执行结果。

defJoin(List,sep=None):

return(sepor',').join(List)

print(Join(['a','b','c']))

^

print(Join(['a','b','c'],':

'))

答:

a,b,c

a:

b:

c

2.若k为整数,下述while循环执行的次数为:

9

k=1000

whilek>1:

print(k)

k=koin(x,10)))

答:

输出由英文字母大小写或数字组成的长度为10且不重复的随机字符串。

!

3.下面的代码输出结果为_____________。

(3)

defdemo():

x=5

x=3

demo()

print(x)

4.下面程序运行的结果为_______________。

([5,6,1,2,3,4])

defdemo(lst,k):

ifk

%

returnlst[k:

]+lst[:

k]

lst=[1,2,3,4,5,6]

demo(lst,4)

5.下面程序运行的结果为_____appyNewYear!

H__________。

deffoo(s):

ifs=="":

returns

else:

returns[1:

]+s[0]

print(foo('HappyNewYear!

'))

6.下面程序运行的结果是{1:

'aa',2:

'bb',3:

'ff',6:

'dd',87:

'ee'}。

l1=[1,2,3,6,87,3]

l2=['aa','bb','cc','dd','ee','ff']

d={}

forindexinrange(len(l1)):

d[l1[index]]=l2[index]

printd

7.下面程序运行的结果为[3,2][1,2].

list1=[1,2]

list2=list1[:

:

]

list1[0]=3

print(list1,list2)

8.下面程序运行的结果为恭喜,你已获得我公司的面试机会!

age,subject,college=(24,“计算机”,”非重点”)

if(age>25andsubject=="电子信息工程")or(college=="重点"andsubject=="电子信息工程")or(age<=28andsubject=="计算机"):

print("恭喜,你已获得我公司的面试机会!

")

else:

print("抱歉,你未达到面试要求")

9.下面程序运行的结果为

fornuminrange(2,10):

ifnum%2==0:

continue

print("Findaoddnumer",num)

答案:

Findaoddnumer3

Findaoddnumer5

Findaoddnumer7

Findaoddnumer9

10.—

11.下面程序打印结果:

foriinrange(1,7):

print(''*2*(6-i),end='')

forjinrange(i,0,-1):

print(j,end="")

print()

12.下面程序输入>>>rev(‘Iloveyou’)返回值为youloveI

defrev1(s):

s=()

`

s1=‘’.join(reversed(s))

returns1

13.阅读程序,打印结果是1000

defaddInterest(balance,rate):

newBalance=balance*(1+rate)

balance=newBalance

defmain():

amount=1000

rate=

addInterest(amount,rate)

print(amount)

main()

14.阅读程序,打印结果是

defdemo(newitem,old_list=[]):

(newitem)

returnold_list

defmain():

print(demo(‘a’))

print(demo(‘b’))

main()

答案:

['a']

['a','b']

15.阅读程序,打印结果是

deffunc5(a,b,*c):

print(a,b)

print("lengthofcis%d,cis"%len(c),c)

func5(1,2,3,4,5,6)

答案:

12

lengthofcis4,cis(3,4,5,6)

16.阅读程序,打印结果是,3,4)

@

defdemo(*para):

avg=sum(para)/len(para)

g=[iforiinparaifi>avg]

return(avg,)+tuple(g)

print(demo(1,2,3,4))

17.阅读程序,打印结果是

deff(w=1,h=2):

print(w,h)

f()

f(w=3)

f(h=7)

f(a=3)

答案:

12

32

17

错误

18.阅读程序,打印结果是

defsort(number1,number2):

ifnumber1

~

returnnumber1,number2

else:

returnnumber2,number1

n1,n2=sort(3,2)

print('n1is',n1)

print('n2is',n2)

答案:

n1is2

n2is3

19.阅读程序,打印结果是1060

defdemo(m,n):

ifm>n:

m,n=n,m

p=m*n

whilem!

=0:

r=n%m

n=m

m=r

1.return(n,p请补全代码:

x=eval(input("请输入小于1000的整数:

"))

k=2

whilex>1:

if:

print(k,end="")

x=x

`

enter(30))

foriinrange(6,0,-1):

print()

答案:

inrange(6);('*‘(2*i-1)).center(5*n)

2.下面代码判断回文串,请补全代码:

s='雾锁山头山锁雾'

low=0

high=

whilelow

if:

#倒序和顺序不一样

print(s,"不是回文")

low+=1

else:

print(s,"是回文串")

答案:

len(s)-1,s[low]!

=s[high],break,high-=1;

3.

%

输出右边图形,请补充程序:

s='''Iamateacher!

Youarestudents!

'''

print('='*30)

print('统计信息'.center(28))

print()

item_width=25

line=('\n')+1

word=()

char=list(s)#包含空格、标点符号

w_num=0

!

forwinword:

w_num+=

print('%-*s%5d'%(item_width-3,'行数',line))

print('%-*s%5d'%(,'单词数',len(word)))

print('%-*s%5d'%(item_width-10,'字符数(包含空格)',))

print('%-*s%5d'%(item_width-11,'字符数(不包含空格)',w_num))

print('-'*30)

答案:

'-'*30;len(w);item_width-4;len(char)

4.

]

输出右边图形,请补充程序:

defdemo(t):

print([1])

line=[1,1]

foriinrange(2,t):

forjinrange(0,len(line)-1):

()

line=[1]+r+[1]

/

print(line)

demo()

答案:

print([1,1]),r=[],line[j]+line[j+1],10

三、编程题

1.编写程序,在D盘根目录下创建一个文本文件,并向其中写入字符串helloworld。

答:

fp=open(r’D:

\’,‘a+’)

print(‘helloworld’,file=fp)

()

2.}

3.编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。

(提示:

使用切片。

答:

importrandom

x=[(0,100)foriinrange(20)]

print(x)

y=x[:

:

2]

(reverse=True)

x[:

:

2]=y

print(x)

4.!

5.编写函数,判断一个数字是否为素数,是则返回字符串YES,否则返回字符串NO。

再编写测试函数。

答:

importmath

defIsPrime(v):

n=int(v)+1)

foriinrange(2,n):

ifv%i==0:

return'No'

else:

return'Yes'

`

print(IsPrime(77))

6.编写函数,模拟Python内置函数sorted(lst)。

答:

defsorted(v):

t=v[:

:

]

r=[]

whilet:

tt=min(t)

(tt)

(tt)

returnr

print(sorted([1,3,2,4])

7.编写程序,生成包含20个随机数的列表,然后将前10个元素升序排列,后10个元素降序排列,并输出结果。

答:

importrandom

x=[(0,100)foriinrange(20)]

print(x)

y=x[0:

10]

?

()

x[0:

10]=y

y=x[10:

20]

(reverse=True)

x[10:

20]=y

x

y

x<0

0

0<=x<5

:

x

5<=x<10

3x-5

10<=x<20

20<=x

0

print(x)

8.编写程序,运行后用户输入4位整数作为年份,判断其是否为闰年。

如果年份能被400整除,则为闰年;如果年份能被4整除但不能被100整除也为闰年。

答:

/

x=input('Pleaseinputanintegerof4digitsmeaningtheyear:

')

x=eval(x)

ifx%400==0or(x%4==0andnotx%100==0):

print('Yes')

else:

print('No')

9.编写程序,实现分段函数计算,如下表所示。

答:

x=input('Pleaseinputx:

')

x=eval(x)

ifx<0orx>=20:

print(0)

elif0<=x<5:

print(x)

elif5<=x<10:

print(3*x-5)

elif10<=x<20:

print*x-2)

10.$

11.已知有一个包含一些同学成绩的字典,计算成绩的最高分、最低分、平均分,并查找最高分同学,最后打印最高分、最低分、平均分、最高分同学。

scores={"ZhangSan":

45,"LiSi":

78,"WangWu":

40,"ZhouLiu":

96,"ZhaoQi":

65,"SunBa":

90,"ZhengJiu":

78,"WuShi":

99,"DongShiyi":

60}

highest=max())

lowest=min())

average=sum())/len(scores)

highestPerson=[nameforname,scorein()if/score==highest]#分行

print(highest,lowest,average,highestPerson)

12.统计不及格的学生及成绩,要求:

给定一些学生姓名和成绩;询问用户是否还需要输入更多的学生姓名和成绩,用户回答是就继续输入,继续询问;打印所有补考学生名单和成绩。

d=[["张三",76],["李四",45],["王五",83],["郑六",66],['a',54],['c',68],['b',89]]

^

s1=input("输入数据YorN:

").strip()#去掉前后空格

whiles1=='Y':

s2=input("请输入学生及成绩(空格隔开)")

name,grade=()

([name,grade])

#d[name]=int(grade)

s1=input("继续输入YorN:

").strip()

else:

print(d)

print("不及格的名单:

")

forname,gradeind:

iffloat(grade)<60:

print("姓名:

",name,"\t","成绩:

",grade)

13.由用户一个一个输入一个数值型列表,然后将每个元素逐一打印。

lst=[]

n=eval(input(”请输入数字个数:

”))

foriinrange(n):

number=eval(input(”请输入数字:

”))

(number)

`

forvalueinlst:

print(value,end=’’)

14.

序列求和,n通过用户输入:

n=int(input(“请输入N的值:

”))

s=0

fh=1

foriinrange(1,n+1):

s+=fh*1/i#求和语句

fh=-fh#正负交替

print("1-1/2+1/3-1/4...+(-1)^(n-1)/n=",s,i)

15.生成一个包含50个两位随机整数的列表,然后删除

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1