python练习题答案.docx
- 文档编号:26282519
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:27
- 大小:64.17KB
python练习题答案.docx
《python练习题答案.docx》由会员分享,可在线阅读,更多相关《python练习题答案.docx(27页珍藏版)》请在冰豆网上搜索。
python练习题答案
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
Python练习题库
By郑红波2017-12-19
填空题
Python标准库math中用来计算平方根的函数是。
(sqrt)
在Python中表示空类型。
(None)
列表、元组、字符串是Python的(有序?
无序)序列。
(有序)
查看变量类型的Python内置函数是。
(type())
查看变量内存地址的Python内置函数是。
(id())
表达式[1,2,3]*3的执行结果为。
([1,2,3,1,2,3,1,2,3])
list(map(str,[1,2,3]))的执行结果为。
([‘1',‘2',‘3'])
已知x=3,并且id(x)的返回值为496103280,那么执行语句x+=6之后,表达式id(x)==496103280的值为。
(False)
已知x=3,那么执行语句x*=6之后,x的值为。
(18)
表达式“[3]in[1,2,3,4]”的值为。
(False)
假设列表对象aList的值为[3,4,5,6,7,9,11,13,15,17],那么切片aList[3:
7]得到
的值是。
([6,7,9,11])
使用列表推导式生成包含10个数字5的列表,语句可以写为。
([5foriin
range(10)])
假设有列表a=['name','age','sex']和b=['Dong',38,'Male'],请使用一个语句将这
两个列表的内容转换为字典,并且以列表a中的元素为“键”,以列表b中的元素为“值”,这个语句可以写为。
(c=dict(zip(a,b)))
任意长度的Python列表、元组和字符串中最后一个元素的下标为。
(-1)
Python语句''.join(list('helloworld!
'))执行的结果是。
('hello
world!
')
转义字符'\n'的含义是。
(回车换行)
Python语句list(range(1,10,3))执行结果为。
([1,4,7])
切片操作list(range(6))[:
:
2]执行结果为。
([0,2,4])
表达式'ab'in'acbed'的值为。
(False)
Python3.x语句print(1,2,3,sep=':
')的输出结果为
。
(1:
2:
3)
表达式int(4**0.5)
的值为
。
(2)
达式sorted([111,
2,33],
key=lambdax:
-len(str(x)))
的值为。
([111,33,
2])
已知列表对象x=
['11','2','3']
,则表达式max(x)
的值为。
('3')
表达式min(['11','2','3'])
的值为
_。
('11')
已知列表对象x=
['11','2',
'3'],则表达式max(x,key=len)的值为。
('11')
语句x=(3,)执行后x的值为。
((3,))
语句x=(3)执行后x的值为。
(3)
已知x={1:
2},那么执行语句x[2]=3之后,x的值为。
({1:
2,2:
3})
字典对象的方法返回字典中的“键-值对”列表。
(items())
使用列表推导式得到100以内所有能被13整除的数的代码可以写作
。
([iforiinrange(100)ifi%13==0])
表达式3**2的值为。
(9)
表达式3*2的值为。
(6)
已知x=[3,5,7],那么执行语句x[len(x):
]=[1,2]之后,x的值为。
([3,
5,7,1,2])
表达式list(zip([1,2],[3,4]))的值为。
([(1,3),(2,4)])
已知x=[1,2,3,2,3],执行语句x.pop()之后,x的值为。
([1,2,3,2])
表达式[xforxin[1,2,3,4,5]ifx<3]的值为。
([1,2])
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
表达式[indexforindex,valuein的值为。
([2,4]
已知path=r'c:
\test.html'
('c:
\\test.htm')
表达式'%d,%c'%(65,65)的值为表达式'Thefirst:
{1},
enumerate([3,5,7,3,7])
)
那么表达式path[:
-4]+'htm'
ifvalue==max([3,5,7,3,7])]
表达式':
'.join('abcdefg'.split('cd'))
表达式isinstance('abcdefg',str)
表达式'Helloworld.IlikePython.'.find('python')表达式','.join('ab
('a,b,ccc,ddd')
已知x='123'和y='456'
表达式'abcab'.replace('a','yy')已知table=''.maketrans('abcw',的值为
。
('65,A')
thesecondis{0}'.format(65,97)
('Thefirst:
97,thesecondis65')
的值为。
('ab:
efg'
的值为。
(True)
的值为。
(-1)
'.split())的值为
ccc\n\n\nddd
的值为。
('123456')
。
('yybcyyb')
那么表达式x+y
的值为
'xyzc'),那么表达式'Hellowworld'.translate(table)
。
('Helloccorld')
48.已知x={'b':
1,'a':
2},那么执行语句x.update({‘a':
3,‘d':
4})之后,表达式
sorted(x.items())的值为。
([('a',3),('b',1),('d',4)])
49.已知x=list(range(20)),那么语句print(x[100:
200])的输出结果为。
([])
50.表达式sorted({'a':
9,'b':
3,'c':
78}.values())的值为。
([3,9,78])
51.type(1+2*3.14)的结果是:
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=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
print("%d"%i)
i+=1
i+=1
5.写出下面代码的运行结果。
defSum(*p):
returnsum(p)
print(Sum(3,5,8))
print(Sum(8))
print(Sum(8,2,10))
答:
16
8
6.下面程序的执行结果是
。
(1)
20
foriinrange(1,101):
s+=i
else:
(1)
7.下面程序的执行结果是。
(1275)
s=0
foriinrange(1,101):
s+=i
ifi==50:
print(s)
break
else:
(1)
8.阅读下面的代码,输出结果为。
x=list(range(10))
forindex,valueinenumerate(x):
ifvalue==3:
x[index]=5
else:
print(x)
答:
将列表x中值为3的元素修改为5。
9.阅读下面的代码,解释其功能:
>>>importstring
>>>x=string.ascii_letters+string.digits
>>>importrandom
>>>print(".join(random.sample(x,10)))
10.下面的代码输出结果为。
(3)
defdemo():
x=5
x=3
demo()
print(x)
11.下面程序运行的结果为。
([5,6,1,2,3,4])
defdemo(lst,k):
ifk returnlst[k: ]+lst[: k] lst=[1,2,3,4,5,6] demo(lst,4) 12.下面程序运行的结果为appyNewYear! H deffoo(s): ifs=="": returns else: returns[1: ]+s[0] print(foo('HappyNewYear! ')) 13.下面程序运行的结果是{1: 'aa',2: 'bb',3: 'ff,6: 'dd',87: 'ee'} 11=[1,2,3,6,87,3] 12=['aa','bb','cc','dd','ee','ff'] d={} forindexinrange(len(l1)): d[l1[index]]=l2[index] printd 14.下面程序运行的结果为[3,2][1,2].list仁[1,2]list2=list1[: : ] list1[0]=3 print(list1,list2) 15.下面程序运行的结果为恭喜,你已获得我公司的面试机会! age,subject,college=(24,"计算机”,”非重点”) 电子信息工 if(age>25andsubject=="电子信息工程")or(college=="重点”andsubject==" 程”)or(age<=28andsubject=="计算机"): print("恭喜,你已获得我公司的面试机会! ") else: print("抱歉,你未达到面试要求") 16.下面程序运行的结果为 fornuminrange(2,10): ifnum%2==0: continue print("Findaoddnumer",num)答案: 21 321 4321 54321 Findaoddnumer3 Findaoddnumer5 Findaoddnumer7 Findaoddnumer9 17.下面程序打印结果: foriinrange(1,7): print(''*2*(6-i),end=”) forjinrange(i,0,-1): print(j,end="") print() 18.下面程序输入>>>rev(‘Iloveyou')返回值为youloveI defrev1(s): s=s.split() s仁’'.join(reversed(s)) returns1 19.阅读程序,打印结果是1000 defaddInterest(balance,rate): newBalance=balance*(1+rate) balance=newBalanee defmain(): amount=1000 rate=0.05 addInterest(amount,rate) print(amount) main() 20.阅读程序,打印结果是 defdemo(newitem,old」ist=[]): old_list.append(newitem) returnold」ist defmain(): print(demo(‘a')) print(demo(‘b')) main() 答案: ['a'] ['a','b'] 21.阅读程序,打印结果是 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) 22.阅读程序,打印结果是( 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) 答案: 12 32 17错误 24.阅读程序,打印结果是 defsort(number1,number2): ifnumber1 returnnumber1,number2 else: returnnumber2,number1 n1,n2=sort(3,2) print('n1is',n1) print('n2is',n2) 答案: n1is2 n2is3 25.阅读程序,打印结果是1060 defdemo(m,n): ifm>n: m,n=n,m p=m*n whilem! =0: r=n%mn=mm=r return(n,p//n) print(demo(20,30)) 三、程序填空题 1.下面代码的功能是,随机生成50个介于[1,20]之间的整数,然后统计每个整数出现频率。 请把缺少的代码补全。 importrandom x=[random.(1,20)foriinrange()] r=dict() foriinx: r[i]=r.get(i,)+1 fork,vinr.items(): print(k,v) 答: 分别填写randint、50、0 2.生成包含1000个随机字符的字符串,然后统计前20个高频字符,最后以15个位左对齐输出高频字符,以5个位右对齐输出个数。 请把缺少的代码补全。 importrandom x=string.ascii_letters+string.digits+string.punctuation y=[foriinrange(1000)] d=dict() forchiny: d[ch]=d.get(ch,0)+1 items=list(d.items()) items.sort(,reverse=True) foriinrange(20): word,count=items[i] print(%(word,count)) 答案: importstring、random.choice(x)、key=lambdax: x[1]、“%-15s%5c” 3.用户输入5,打印如右图字符金字塔图形,请补全代码: n=input('输入行数: ')foriinrange(1,n+1): print(,end=‘') forjinrange(1,2*i): print(&,) print() 答案: n=int(n),''*(n-i),end=" 4. 请补全代码: 质因数分解,如输入60,则得到60=2*2*3*5. x=eval(input("请输入小于1000的整数: ")) k=2whilex>1: if print(k,end= "") x=x//k ifx>1: print( "*",end="") else: 答案: print(x,"=",end=""),x%k==0,k+=1 5.验证哥德巴赫猜想: 一个大于等于6的偶数可以表示为两个素数之和,请补全代码。 importmath x=eval(input("输入一个数”)) whilex<6orx%2==1: #大于6的偶数 x=eval(input("输入一个数”)) forn1in: m1=int(math.sqrt(n1)+1) foriinrange(2,m1): #2-sqrt(n1) if: break else m2=math.ceil(math.sqrt(n2)+1) forjinrange(2,m2): ifn2%j==0andj else *******: +++++ 荷掘1 章词數1 字耳數(也會空站〉33 乎甘歎(不邑鲁空轄)27 答案: forjinrange(1,i+1): '%8s'%(s1),end=" 7.输出右边图形,请补充程序: fori: print(('*'*(2*i-1)).center(30)) foriinrange(6,0,-1): print( 答案: inrange(6);('*‘(2*i-1)).center(5*n) 8.下面代码判断回文串,请补全代码: s='雾锁山头山锁雾’ low=0 high= whilelow if: #倒序和顺序不一样 print(s,"不是回文") low+=1 else: print(s,"是回文串") 答案: len(s)-1,s[low]! =s[high],break,high-=1; 9.输出右边图形,请补充程序: s='"lamateacher! Youarestudents! "'print('='*30) print('统计信息'.center(28)) print() item_width=25 line=s.count('\n')+1 word=s.split()char=list(s)#包含空格、标点符号 w_num+= print('%-*s%5d'%(item_width-3,' print('%-*s%5d'%(,' print('%-*s%5d'%(item_width-10,' print('%-*s%5d'%(item_width-11,' 行数',line)) 单词数',len(word))) 字符数(包含空格)',)) 字符数(不包含空格)',w_num)) w_num=Oforwinword: print('-'*30) 答案: '-'*30;len(w);item_width-4;len(char) 10.输出右边图形,请补充程序: [1] 【1,1] [1,2,1] [1,3,3,1] [1,4,6,4,1] [1,5,10,10,5,1] [1,6,15,20,15,6,1] [1,7,21,35,35,21,7,1] [1,8,28,56,70,56,28,8,1] [1,9,36,84,126,126,84,36,9,1] defdemo(t): print([1]) line=[1,1]foriinrange(2,t): forjinrange(0,len(line)-1): r.append() line=[1]+r+[1] print(line) demo() 答案: print([1,1]),r=[],line[j]+line[j+1],10 四、编程题 1.编写程序,在D盘根目录下创建一个文本文件test.txt,并向其中写入字符串helloworld 答: fp=open(r'D: \test.txt',‘a+') print(‘helloworld',file=fp) fp.close() 2.编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇 数下标的元素不变。 (提示: 使用切片。 ) 答: importrandom x=[random.randint(0,100)foriinrange(20)] print(x) y=x[: : 2] y.sort(reverse=True) x[: : 2]=y print(x) 3. YES否则返回字符串NQ再编写测试 编写函数,判断一个数字是否为素数,是则返回字符串函数。 答: importmath defIsPrime(v)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- python 练习题 答案