完整版python练习题答案可编辑修改word版Word文档格式.docx
- 文档编号:21020269
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:18
- 大小:111.68KB
完整版python练习题答案可编辑修改word版Word文档格式.docx
《完整版python练习题答案可编辑修改word版Word文档格式.docx》由会员分享,可在线阅读,更多相关《完整版python练习题答案可编辑修改word版Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
([0,2,4])
19.表达式'
ab'
in'
acbed'
的值为。
20.Python3.x语句print(1,2,3,sep='
)的输出结果为。
(1:
2:
3)
21.表达式int(4**0.5)的值为。
(2)
22.达式sorted([111,2,33],key=lambdax:
-len(str(x)))的值为。
([111,33,2])
23.已知列表对象x=['
11'
2'
3'
],则表达式max(x)的值为。
24.表达式min(['
])的值为。
25.已知列表对象x=['
],则表达式max(x,key=len)的值为。
26.语句x=(3,)执行后x的值为。
((3,))
27.语句x=(3)执行后x的值为。
(3)
28.已知x={1:
2},那么执行语句x[2]=3之后,x的值为。
({1:
2,2:
3})
29.字典对象的方法返回字典中的“键-值对”列表。
(items())
30.使用列表推导式得到100以内所有能被13整除的数的代码可以写作
([iforiinrange(100)ifi%13==0])
31.表达式3**2的值为。
(9)
32.表达式3*2的值为。
(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,valueinenumerate([3,5,7,3,7])ifvalue==max([3,5,7,3,7])]的值为
([2,4])
38.已知path=r'
c:
\test.html'
,那么表达式path[:
-4]+'
htm'
\\test.htm'
39.表达式'
%d,%c'
%(65,65)的值为。
65,A'
40.表达式'
Thefirst:
{1},thesecondis{0}'
.format(65,97)的值为。
97,thesecondis65'
41.
表达式
.join('
abcdefg'
.split('
cd'
))的值为。
ab:
efg'
42.
isinstance('
str)的值为。
(True)
43.
Helloworld.IlikePython.'
.find('
python'
)的值为。
44.
'
abccc\n\n\nddd'
.split())的值为。
a,b,ccc,ddd'
45.已知x='
123'
和y='
456'
,那么表达式x+y的值为。
123456'
46.表达式'
abcab'
.replace('
a'
yy'
yybcyyb'
47.已知table='
.maketrans('
abcw'
xyzc'
),那么表达式'
Hellowworld'
.translate(table)的值为
Helloccorld'
48.已知x={'
b'
1,'
2},那么执行语句x.update({‘a’:
3,‘d’:
4})之后,表达式sorted(x.items())的值为
([('
3),('
1),('
d'
4)])
49.已知x=list(range(20)),那么语句print(x[100:
200])的输出结果为。
([])50.表达式sorted({'
9,'
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(['
]))
print(Join(['
],'
))
答:
a,b,c
a:
b:
c
2.若k为整数,下述while循环执行的次数为:
9k=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
breakprint("
%i)i+=1
5.写出下面代码的运行结果。
defSum(*p):
returnsum(p)print(Sum(3,5,8))print(Sum(8))print(Sum(8,2,10))答:
8
20
6.下面程序的执行结果是。
(1)
s=0
foriinrange(1,101):
s+=i
else:
(1)
7.下面程序的执行结果是。
(1275)
ifi==50:
print(s)break
8.阅读下面的代码,输出结果为。
x=list(range(10))
forindex,valueinenumerate(x):
ifvalue==3:
x[index]=5
print(x)
将列表x中值为3的元素修改为5。
9.阅读下面的代码,解释其功能:
>
importstring
x=string.ascii_letters+string.digits
importrandom
print('
.join(random.sample(x,10)))
输出由英文字母大小写或数字组成的长度为10且不重复的随机字符串。
10.下面的代码输出结果为。
defdemo():
x=5
x=3demo()print(x)
11.下面程序运行的结果为。
([5,6,1,2,3,4])defdemo(lst,k):
ifk<
len(lst):
returnlst[k:
]+lst[:
k]
lst=[1,2,3,4,5,6]
demo(lst,4)
12.下面程序运行的结果为appyNewYear!
H。
deffoo(s):
ifs=="
"
returns
returns[1:
]+s[0]
print(foo('
HappyNewYear!
13.下面程序运行的结果是{1:
aa'
2:
bb'
3:
ff'
6:
dd'
87:
'
ee'
}。
14.下面程序运行的结果为[3,2][1,2].
list1=[1,2]list2=list1[:
]list1[0]=3print(list1,list2)
15.下面程序运行的结果为恭喜,你已获得我公司的面试机会!
age,subject,college=(24,“计算机”,”非重点”)
if(age>
25andsubject=="
电子信息工程"
)or(college=="
重点"
andsubject=="
)or(age<
=28andsubject=="
计算机"
):
恭喜,你已获得我公司的面试机会!
抱歉,你未达到面试要求"
16.下面程序运行的结果为
fornuminrange(2,10):
ifnum%2==0:
continueprint("
Findaoddnumer"
num)
答案:
Findaoddnumer3Findaoddnumer5Findaoddnumer7Findaoddnumer9
17.下面程序打印结果:
foriinrange(1,7):
print('
*2*(6-i),end='
)forjinrange(i,0,-1):
print(j,end="
"
)print()
18.下面程序输入>
rev(‘Iloveyou’)返回值为youloveIdefrev1(s):
s=s.split()
s1=‘’.join(reversed(s))returns1
19.阅读程序,打印结果是1000defaddInterest(balance,rate):
newBalance=balance*(1+rate)balance=newBalance
defmain():
amount=1000rate=0.05
addInterest(amount,rate)print(amount)
main()
20.阅读程序,打印结果是
defdemo(newitem,old_list=[]):
old_list.append(newitem)returnold_list
print(demo(‘a’))
print(demo(‘b’))main()
['
]
21.阅读程序,打印结果是
deffunc5(a,b,*c):
print(a,b)
lengthofcis%d,cis"
%len(c),c)func5(1,2,3,4,5,6)
12
lengthofcis4,cis(3,4,5,6)
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):
ifnumber1<
number2:
returnnumber1,number2
returnnumber2,number1
n1,n2=sort(3,2)print('
n1is'
n1)
n2is'
n2)
n1is2
n2is3
25.阅读程序,打印结果是1060defdemo(m,n):
ifm>
n:
m,n=n,mp=m*n
whilem!
=0:
r=n%mn=m
m=rreturn(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,)+1fork,vinr.items():
print(k,v)
分别填写randint、50、0
2.生成包含1000个随机字符的字符串,然后统计前20个高频字符,最后以15个位左对齐输出高频字符,以5个位右对齐输出个数。
x=string.ascii_letters+string.digits+string.punctuationy=[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%5d”
3.
用户输入5,打印如右图字符金字塔图形,请补全代码:
n=input('
输入行数:
foriinrange(1,n+1):
print(,end=‘'
)forjinrange(1,2*i):
&
)
print()
n=int(n),'
*(n-i),end='
4.质因数分解,如输入60,则得到60=2*2*3*5.请补全代码:
x=eval(input("
请输入小于1000的整数:
))k=2
whilex>
if:
print(k,end="
x=x//k
ifx>
*"
end="
print(x,"
="
),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
m2=math.ceil(math.sqrt(n2)+1)
forjinrange(2,m2):
ifn2%j==0andj<
n2:
print(x,'
='
n1,'
+'
range(3,x//2,2),n1%i==0,n2=x-n1,break
6.右对齐九九乘法表,请补全代码:
foriinrange(1,10):
s1=str(i)+'
×
+str(j)+'
+str(i*j)print()
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='
雾锁ft头ft锁雾'
low=0
high=whilelow<
high:
#倒序和顺序不一样print(s,"
不是回文"
low+=1
print(s,"
是回文串"
len(s)-1,s[low]!
=s[high],break,high-=1;
9.
s='
Iamateacher!
Youarestudents!
*30)
统计信息'
.center(28))print()item_width=25line=s.count('
\n'
)+1word=s.split()
char=list(s)#包含空格、标点符号w_num=0
forwinword:
w_num+=
%-*s%5d'
%(item_width-3,'
行数'
line))
%(,'
单词数'
len(word)))
%(item_width-10,'
字符数(包含空格)'
))print('
%(item_width-11,'
字符数(不包含空格)'
w_num))
-'
*30;
len(w);
item_width-4;
len(char)
10.
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个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。
(提示:
使用切片。
x=[random.randint(0,100)foriinrange(20)]print(x)
y=x[:
2]
y.sort(reverse=True)x[:
2]=y
3.编写函数,判断一个数字是否为素数,是则返回字符串YES,否则返回字符串NO。
再编写测试函数。
importmathdefIsPrime(v):
n=int(math.sqrt(v)+1)foriinrange(2,n):
ifv%i==0:
return'
No'
Yes'
print(IsPrime(77))
4.编写函数,模拟Python内置函数sorted(lst)。
defsorted(v):
t=v[:
]r=[]
whilet:
tt=min(t)r.append(tt)t.remove(tt)
returnrprint(sorted([1,3,2,4])
5.编写程序,生成包含20个随机数的列表,然后将前10个元素升序排列,后10个元素降序排列,并输出结果。
y=x[0:
10]
y.sort()
x[0:
10]=yy=x[10:
20]
y.sort(reverse=True)x[10:
20]=y
x
y
x<
0<
=x<
5
5<
10
3x-5
10<
0.5x-2
20<
=x
6.编写程序,运行后用户输入4位整数作为年份,判断其是否为闰年。
如果年份能被400整除,则为闰年;
如果年份能被4整除但不能被100整除也
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 python 练习题 答案 编辑 修改 word
![提示](https://static.bdocx.com/images/bang_tan.gif)