python试题答案.docx
- 文档编号:4018440
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:16
- 大小:22.27KB
python试题答案.docx
《python试题答案.docx》由会员分享,可在线阅读,更多相关《python试题答案.docx(16页珍藏版)》请在冰豆网上搜索。
python试题答案
python试题答案
【篇一:
python试卷(有答案版本,个人答案不是官方答案)】
=txt>(自己写的答案,有不正确的地方还请给位批评指正)一、填空题(每空1分,共40分)1.python使用符号标示注释;还有一种
叫做?
?
?
?
?
?
的特别注释。
2.可以使用python语句分解成几行;多个语句也可以写在同一行,语句之间要用;符号隔开。
3、每一个python的导入模块要使用关键字import。
4、所有python5、python的数字类型分为等子类型。
6、python序列类型包括python中唯一的映射类型。
7、python提供了两个对象身份比较操作符和来测试两个变量是否指向同一个对象,也可以通过内建函数来测试对象的身份。
8、python9、python的传统除法运算符是。
10、设s=‘abcdefg?
,则s[3]值是s[3:
5]值是,s[:
5]值是,s[3:
]值是s[:
:
2]值是,s[:
:
-1]值是,s[-2:
-5]值是。
11、删除字典中的所有元素的函数是,可以将一个字典的内容添加到另外一个字典中的函数是update(字典名称),返回包含字典中所有键的列表的函数是,返回包含字典中所有值的列表的函数是,判断一个键在字典中是否存在的函数是get()。
二、选择题(每题2分,共24分)1.下列哪个语句在python中是非法的?
(b)
a、x=y=z=1b、x=(y=z+1)
c、x,y=y,xd、x+=y
2.关于python内存管理,下列说法错误的是()
a、变量不必事先声明b、变量无须先创建和赋值而直接使用
c、变量无须指定类型d、可以使用del释放资源
3、下列哪种情况会导致python对象的引用计数增加()
a、对象被创建b、被作为参数传递给函数
c、成为容器对象的元素d、该对象无法访问时
4、下面哪个不是python合法的标识符(b)
a、int32b、40xlc、selfd、__name__
5、下列哪种说法是错误的(a)
a、除字典类型外,所有标准对象均可以用于布尔测试
b、空字符串的布尔值是false
c、空列表对象的布尔值是false
d、值为0的任何数字对象的布尔值是false
6、下列表达式的值为true的是(c)
a、5+4j2-3jb、322
c、(3,2)(?
a?
?
b?
)d、?
abc?
?
xyz?
7、python不支持的数据类型有(a)
a、charb、intc、floatd、list
8、关于python中的复数,下列说法错误的是(b)
a、表示复数的语法是real+imagej
b、实部和虚部都是浮点数
c、虚部必须后缀j,且必须是小写
d、方法conjugate返回复数的共轭复数
9、关于字符串下列说法错误的是(a)
a、字符应该视为长度为1的字符串
b、字符串以\0标志字符串的结束
c、既可以用单引号,也可以用双引号创建字符串
d、在三引号字符串中可以包含换行回车等特殊字符
10、以下不能创建一个字典的语句是(c)
a、dict1={}b、dict2={3:
5}
c、dict3=dict([2,5],[3,4])
d、dict4=dict(([1,2],[3,4]))
11、下面不能创建一个集合的语句是(c)
a、s1=set()b、s2=set(“abcd”)
c、s3=(1,2,3,4)d、s4=frozenset((3,2,1))
12、下列python语句正确的是(d)
a、min=xifxyelseyb、max=xy?
x:
y
c、if(xy)printxd、whiletrue:
pass
三、简答题(每题6分,共36分)
1、简述一个典型python文件应当具有怎样的结构?
2、下面的python函数检查给定的字符串s是否为合法的标识符,程序中有6处语法错误,请改正:
voidcheckid(strings):
改正defcheckid(s):
alphas=abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz_(改正应使用?
?
?
?
?
?
)nums=0123456789
if(len(s)1)
firstchar=s[0]
iffirstcharnotinalphas:
printerror.firstcharmustbealphasornumber.
else:
//使用切片操作,取出除第1字符外的其它字符
otherchar=s(1:
)改正d[1:
]
alphasnums=alphas+nums
whilecinotherchar:
改正for
ifcnotinalphasnums:
printerror.othercharsmustbealphasnumberor_.break
else:
print(okayasanidentifier)改正缩进不对
else:
ifsnotinalphas:
printerror.
else:
printokayasanidentifier
3、写一个函数,计算一个给定的日期是该年的第几天。
defgetday(self,y=none,m=none,d=none):
date=datetime(y,m,d)
days=date.strftime(%j)
returndays
4、写一个函数,给定n,返回斐波那契数列第n项。
defgetn_vlaue(self,n):
ifn=2:
return1
else:
returnself.getn_vlaue(n-1)+self.getn_vlaue(n-2)
5、从0到9中随机选择,生成1到10个随机数,组成集合a,同理生成集合b,输出a和b以及它们的并集和交集
defgetnumberlist(self):
a=[]
b=[]
j=k=0
forxinxrange(0,10):
j=int(random.random()*10)k=int(random.random()*10)a.append(j)
b.append(k)
printu集合a:
a
printu集合b:
b
returna,b
defgetendlistj(self,a,b):
#并集c=a+b
new_c=[]
forxinxrange(0,len(c)):
temp=c[x]
iftempnotinnew_c:
new_c.append(temp)
printu并集:
new_c
defgetendlistb(self,a,b):
#交集new_a=[]
new_b=[]
【篇二:
《python程序设计》习题与答案】
ass=txt>第1章基础知识
1.1简单说明如何选择正确的python版本。
答:
在选择python的时候,一定要先考虑清楚自己学习python的目的是什么,打算做哪方面的开发,有哪些扩展库可用,这些扩展库最高支持哪个版本的python,是python2.x还是python3.x,最高支持到python2.7.6还是python2.7.9。
这些问题都确定以后,再做出自己的选择,这样才能事半功倍,而不至于把大量时间浪费在python的反复安装和卸载上。
同时还应该注意,当更新的python版本推出之后,不要急于更新,而是应该等确定自己所必须使用的扩展库也推出了较新版本之后再进行更新。
尽管如此,python3毕竟是大势所趋,如果您暂时还没想到要做什么行业领域的应用开发,或者仅仅是为了尝试一种新的、好玩的语言,那么请毫不犹豫地选择python3.x系列的最高版本(目前是python3.4.3)。
1.2为什么说python采用的是基于值的内存管理模式?
答:
python采用的是基于值的内存管理方式,如果为不同变量赋值相同值,则在内存中只有一份该值,多个变量指向同一块内存地址,例如下面的代码。
x=3
id(x)
10417624
y=3
id(y)
10417624
y=5
id(y)
10417600
id(x)
10417624
1.3在python中导入模块中的对象有哪几种方式?
答:
常用的有三种方式,分别为
?
import模块名[as别名]
?
from模块名import对象名[as别名]
?
frommathimport*
1.4使用pip命令安装numpy、scipy模块。
答:
在命令提示符环境下执行下面的命令:
pipinstallnumpy
pipinstallscipy
1.5编写程序,用户输入一个三位以上的整数,输出其百位以上的数字。
例如用户输入1234,则程序输出12。
(提示:
使用整除运算。
)
答:
1)python3.4.2代码:
x=input(pleaseinputanintegerofmorethan3digits:
)
try:
x=int(x)
x=x//100
ifx==0:
print(youmustinputanintegerofmorethan3digits.)
else:
print(x)
exceptbaseexception:
print(youmustinputaninteger.)
2)python2.7.8代码:
importtypes
x=input(pleaseinputanintegerofmorethan3digits:
)
printyoumustinputaninteger.
eliflen(str(x))!
=4:
printyoumustinputanintegerofmorethan3digits.
else:
printx//100
第2章python数据结构
2.1为什么应尽量从列表的尾部进行元素的增加与删除操作?
答:
当列表增加或删除元素时,列表对象自动进行内存扩展或收缩,从而保证元素之间没有缝隙,但这涉及到列表元素的移动,效率较低,应尽量从列表尾部进行元素的增加与删除操作以提高处理速度。
2.2编写程序,生成包含1000个0到100之间的随机整数,并统计每个元素的出现次数。
(提示:
使用集合。
)
答:
1)python3.4.2代码
importrandom
x=[random.randint(0,100)foriinrange(1000)]
d=set(x)
forvind:
print(v,:
x.count(v))
2)python2.7.8代码
importrandom
x=[random.randint(0,100)foriinrange(1000)]
d=set(x)
forvind:
printv,:
x.count(v)
2.3编写程序,用户输入一个列表和2个整数作为下标,然后输出列表中介于2个下标之间的元素组成的子列表。
例如用户输入[1,2,3,4,5,6]和2,5,程序输出[3,4,5,6]。
答:
1)python3.4.2代码
x=input(pleaseinputalist:
)
x=eval(x)
start,end=eval(input(pleaseinputthestartpositionandtheendposition:
))
print(x[start:
end])
2)python2.7.8代码
x=input(pleaseinputalist:
)
start,end=input(pleaseinputthestartpositionandtheendposition:
)
printx[start:
end]
2.4设计一个字典,并编写程序,用户输入内容作为键,然后输出字典中对应的值,如果用户输入的键不存在,则输出“您输入的键不存在!
”
答:
1)python3.4.2代码
d={1:
a,2:
b,3:
c,4:
d}
v=input(pleaseinputakey:
)
v=eval(v)
print(d.get(v,您输入的的键不存在))
2)python2.7.8代码
d={1:
a,2:
b,3:
c,4:
d}
v=input(pleaseinputakey:
)
print(d.get(v,您输入的的键不存在))
2.5编写程序,生成包含20个随机数的列表,然后将前10个元素升序排列,后10个元素降序排列,并输出结果。
答:
1)python3.4.2代码
importrandom
x=[random.randint(0,100)foriinrange(20)]
print(x)
y=x[0:
10]
y.sort()
x[0:
10]=y
y=x[10:
20]
y.sort(reverse=true)
x[10:
20]=y
print(x)
2)python2.7.8代码
importrandom
x=[random.randint(0,100)foriinrange(20)]
printx
y=x[0:
10]
y.sort()
x[0:
10]=y
y=x[10:
20]
y.sort(reverse=true)
x[10:
20]=y
printx
2.6在python中,字典和集合都是用一对作为定界符,字典的每个元素有两部分组成,即键和值,其中键不允许重复。
2.7假设有列表a=[name,age,sex]和b=[dong,38,male],请使用一个语句将这两个列表的内容转换为字典,并且以列表a中的元素为键,以列表b中的元素为值,这个语句可以写为c=dict(zip(a,b))。
2.8假设有一个列表a,现要求从列表a中每3个元素取1个,并且将取到的元素组成新的列表b,可以使用语句b=a[:
:
3]。
2.9使用列表推导式生成包含10个数字5的列表,语句可以写为。
2.10不可以(可以、不可以)使用del命令来删除元组中的部分元素。
【篇三:
python100经典练习题】
class=txt>#coding:
utf-8
【程序1】
题目:
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
都是多少?
1.程序分析:
可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:
foriinrange(1,5):
forjinrange(1,5):
forkinrange(1,5):
if(i!
=k)and(i!
=j)and(j!
=k):
printi,j,k
【程序2】
题目:
企业发放的奖金根据利润提成。
利润(i)低于或等于10万元时,奖金可提10%;利润高
于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提
成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于
40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于
100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发放奖金总数?
1.程序分析:
请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:
bonus1=100000*0.1
bonus2=bonus1+100000*0.500075
bonus4=bonus2+200000*0.5
bonus6=bonus4+200000*0.3
bonus10=bonus6+400000*0.15
i=int(raw_input(inputgain:
\n))
ifi=100000:
bonus=i*0.1
elifi=200000:
bonus=bonus1+(i-100000)*0.075
elifi=400000:
bonus=bonus2+(i-200000)*0.05
elifi=600000:
bonus=bonus4+(i-400000)*0.03
elifi=1000000:
bonus=bonus6+(i-600000)*0.015
else:
bonus=bonus10+(i-1000000)*0.01
printbonus=,bonus
【程序3】
题目:
一个整数,它加上100后是一个完全平方数,再加上268又是一个完全平方数,请问该数是多少?
1.程序分析:
在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
的结果满足如下条件,即是结果。
请看具体分析:
2.程序源代码:
#includemath.h
main()
{
longinti,x,y,z;
for(i=1;i100000;i++)
{x=sqrt(i+100);/*x为加上100后开方后的结果*/
y=sqrt(i+268);/*y为再加上268后开方后的结果*/
if(x*x==i+100y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
printf(\n%ld\n,i);
}
}
importmath
foriinrange(10000):
#转化为整型值
x=int(math.sqrt(i+100))
y=int(math.sqrt(i+268))
if(x*x==i+100)and(y*y==i+268):
printi
【程序4】
题目:
输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:
以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:
year=int(raw_input(year:
\n))
month=int(raw_input(month:
\n))
day=int(raw_input(day:
\n))
months=(0,31,59,90,120,151,181,212,243,273,304,334)
if0=month=12:
sum=months[month-1]
else:
printdataerror
sum+=day
leap=0
if(year%400==0)or((year%4==0)and(year%100!
=0)):
leap=1
if(leap==1)and(month2):
sum+=1
printitisthe%dthday.%sum
【程序5】
题目:
输入三个整数x,y,z,请把这三个数由小到大输出。
1.程序分析:
我们想办法把最小的数放到x上,先将x与y进行比较,如果xy则将x与y的值进行交换,
然后再用x与z进行比较,如果xz则将x与z的值进行交换,这样能使x最小。
2.程序源代码:
l=[]
foriinrange(3):
x=int(raw_input(integer:
\n))
l.append(x)
l.sort()
printl
【程序6】
题目:
用*号输出字母c的图案。
1.程序分析:
可先用*号在纸上写出字母c,再分行输出。
2.程序源代码:
printhellopythonworld!
\n
print**10
foriinrange(5):
print**
print**10
print*\n*6
【程序7】
题目:
输出特殊图案,请在c环境中运行,看一看,verybeautiful!
1.程序分析:
字符共有256个。
不同字符,图形不一样。
2.程序源代码:
a=176
b=219
printchr(b),chr(a),chr(a),chr(a),chr(b)
printchr(a),chr(b),chr(a),chr(b),chr(a)
printchr(a),chr(a),chr(b),chr(a),chr(a)
printchr(a),chr(b),chr(a),chr(b),chr(a)
printchr(b),chr(a),chr(a),chr(a),chr(b)
【程序8】
题目:
输出9*9口诀。
1.程序分析:
分行与列考虑,共9行9列,i控制行,j控制列。
2.程序源代码:
#includestdio.h
main()
{
inti,j,result;
printf(\n);
for(i=1;i10;i++)
{for(j=1;j10;j++)
{
result=i*j;
printf(%d*%d=%-3d,i,j,result);/*-3d表示左对齐,占3位*/}
printf(\n);/*每一行后换行*/
}
}
foriinrange(1,10):
forjinrange(1,10):
result=i*j
print%d*%d=%-3d%(i,j,result)
【程序9】
题目:
要求输出国际象棋棋盘。
1.程序分析:
用i控制行,j来控制列,根据i+j的和的变化来控制输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- python 试题答案