Python课后题答案Word文件下载.docx
《Python课后题答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《Python课后题答案Word文件下载.docx(50页珍藏版)》请在冰豆网上搜索。
●服务器软件(网络软件)
●游戏
●构思实现,产品早期原型和迭代
3.Python2.x和Python3.x的区别如下:
(1)在python2.x中,输出数据使用的是print语句。
但是在python3.x中,print语句没有了,取而代之的是print()函数
(2)python2有ASCIIStr()类型,unicode()是单独的,不是byte类型。
在python3.x版本的源代码中,默认使用的是UTF-8编码,从而可以很好的支持中文字符。
(3)在python2.x中,使用运算符/进行除法运算,整数相除的结果是一个整数,浮点数除法会保留小数点的部分得到一个浮点数的结果。
在python3.x中使用运算符/进行除法,整数之间的相除,结果也会是浮点数。
(4)相比python2.x版本,python3.x版本在异常方面有很多改变:
▪在python2.x版本,所有类型的对象都是直接被抛出的,但是,在python3.x版本中,只有继承自BaseException的对象才可以被抛出。
▪
▪在python2.x版本中,捕获异常的语法是exceptexc,var。
在python3.x版本中,引入了as关键字,捕获异常的语法变更为exceptexcasvar。
▪在python2.x版本中,处理异常使用raiseException(args)。
在python3.x版本中,处理异常使用raiseException,args。
▪python3.x取消了异常类的序列行为和.message属性。
(5)在Python3.x中,表示八进制字面量的方式只有一种,并且必须写0o1000这样的方式,原来01000的方式不能使用了。
(6)Python2.x中不等于有两种写法!
=和<
>
;
但是,Python3.x中去掉了<
只有!
=一种写法
(7)python3.x去除了long类型,现在只有一种整型int,但它的行为就像是python2.x版本的long。
4.Python程序的执行原理如图所示。
python解释器将源代码转换为字节码,然后把编译好的字节码转发到Python虚拟机(PVM)中进行执行
5.IPython的特点如下:
●IPython具有卓越的Pythonshell,其性能远远优于标准Python的shell。
●IPython支持变量自动补全,自动缩进,支持bashshell命令,内置了许多很有用的功能和函数。
●IPython提供了基于控制台命令环境的定制功能,可以十分轻松地将交互式Pythonshell包含在各种Python应用中,甚至可以当作系统级shell来使用。
九、编程题。
十、
1.代码如下:
print("
+++++++++++"
)
print("
++"
2.代码如下:
学Python,来传智播客黑马程序员"
第3章Python基本语法
第4章
1.int
3.TrueFalse
5.8
7.1.2e5
9.00000010
11.0b10100
13.type()
15.1
17.20
19.4.34×
103
3.错
15.对
19.对
1.D
3.D
5.A
7.A
9.C
11.A
13.B
15.B
17.C
19.D
七、简答题
1.Python中标识符的命名规则如下所示:
●标示符由字母、下划线和数字组成,且数字不能开头
●python中的标识符是区分大小写的。
●python中的标示符不能使用关键字
2.简述Python中的数字类型有:
int(整型)、long(长整型)、float(浮点数)、complex(复数)
九、编程题
1.代码如下:
importmath
a=float(input("
请输入斜边1的长度"
))#输入实数
b=float(input("
请输入斜边2的长度"
c=a*a+b*b#计算,得到的是斜边的平方
c=sqrt(c)#开方,得到的是斜边长
斜边长为:
"
c)#显示,一项是字符串,一项是c表示的斜边长
#用户输入
x=input('
输入x值:
'
y=input('
输入y值:
#不使用临时变量
x,y=y,x
print('
交换后x的值为:
{}'
.format(x))
交换后y的值为:
.format(y))
第5章Python常用语句
第6章
1.break
3.elif
5.continue
7.True
9.pass
1.错
9.对
3.C
5.C
1.Pass语句Python中的pass是空语句,它的出现是为了保持程序结构的完整性。
pass不做任何事情,一般用做占位语句。
3.break语句用于结束整个循环;
continue的作用是用来结束本次循环,紧接着执行下一次的循环。
1.代码如下:
foriinrange(1,11):
print(i)
3.代码如下:
a=int(input("
请输入一个数:
))
ifa>
0:
print("
a是一个正数"
elifa<
a是一个负数"
else:
a等于0"
5.代码如下:
i=1
whilei<
10:
j=1
whilej<
=i:
print("
%d*%d=%-2d"
%(i,j,i*j),end='
'
j+=1
\n"
i+=1
第7章字符串
第8章
一、单选题
1.A
11.B
13.A
5.错
13.错
五、填空题
1.文本
3.转义
5.input
7.切片
9.开
七、程序分析题
1.答:
不能编译通过。
因为num1和num2属于字符串类型,不能执行取余操作。
3.结果为:
J
5.答:
由于没有在字符串中找到子串,index方法默认会抛出ValueError异常。
7.结果为:
HelloWorld(默认删除两头的空格)
9.结果为:
HelloPython
1.答案:
myStr=input("
请输入任意字符串:
num=0
forsinmyStr:
ifs.isdigit():
num+=1
print(num)
3.答案:
week=['
Monday'
'
Tuesday'
Wednesday'
Thursday'
Friday'
Saturday'
Sunday'
]
whileTrue:
myStr=input("
请输入任意一个字母:
upMyStr=myStr.upper()
forweekSinweek:
ifupMyStr==weekS[0]:
ifweekS.startswith("
M"
):
print("
星期一"
elifweekS.startswith("
W"
星期三"
F"
星期五"
T"
)orweekS.startswith("
S"
secondStr=input("
请再输入任意一个字母:
newStr=upMyStr+secondStr
print(newStr)
forweekStrinweek:
ifweekStr.find(newStr,0,2)!
=-1:
ifnewStr=="
Tu"
:
星期二"
elifnewStr=="
Th"
星期四"
Sa"
星期六"
Su"
星期日"
break
5.答案:
str="
Hello,welcometoitheima!
!
print(str.count("
o"
第9章列表、元组和字典
第10章
3.B
7.D
11.C
1.字典
3.字典,列表
5.notin
7.sort
9.小括号
1.答案:
(1)外形:
列表是中括号括起来的数据;
元组是圆括号括起来的数据;
字典是花括号括起来的数据
(2)存储结构:
列表可以存储多个不同类型的数据,以逗号分隔;
元组同样能存储多个不同类型的数据,以逗号分隔;
字典能存储多个键值对,以逗号分隔,键是唯一的,值是任何类型的。
(3)访问方式:
列表可以通过下标索引访问元素,索引从0开始;
元组可以通过下标索引访问值,索引从0开始;
字典通过键来访问值。
(4)是否可变类型:
列表是可变类型,列表是不可变类型,字典是可变类型。
九、程序分析题
程序运行错误,元组不能使用下标增加元素。
2.
3.结果为:
3
4.
5.结果为:
1,26
6.
十一、编程题
十二、
defmessage():
请输入密码,只能为字母和数字:
ifmyStr.isalnum():
符合要求"
else:
不符合要求"
arr=[]
evenStr="
oddStr="
message=input("
请输入任意字符串:
forstringinmessage:
arr.append(string)
foreStrin(arr[:
2]):
evenStr=evenStr+eStr
foroStrin(arr[1:
oddStr=oddStr+oStr
print(evenStr+oddStr)
defcount():
请输入只包含字母的字符串:
ifmyStr.isalpha():
newStr=myStr.lower()
forstringinnewStr:
a={}
foriinarr:
ifarr.count(i)>
=1:
a[i]=arr.count(i)
print(a)
输入的内容有误"
count()
7.答案:
result="
请输入字符串:
forstringinmyStr:
last=arr[-1]
arr.remove(last)
arr.insert(0,last)
fornewinarr:
result=result+new
print(result)
9.答案:
length=int(input("
请要输入数字的总个数(必须为奇数):
i=0
whilei<
length:
num=int(input("
输入第%d个数字:
%(i+1)))
arr.append(num)
i+=1
arr.sort()
index=int(length/2)
print(arr[index])
11.答案:
第一种:
arr=[1,2,3,4,5]
arr.reverse()
print(arr)
第二种:
arr.sort(reverse=True)
13.答案:
请输入数字的总个数:
排序前:
%s"
%arr)
#对列表排序
foriinrange(length):
flag=0
forjinrange(1,length):
ifarr[j-1]>
arr[j]:
arr[j-1],arr[j]=arr[j],arr[j-1]
flag=1
ifnotflag:
排序后:
15.答案:
请输入列表的总个数:
element=input("
输入第%d个元素:
%(i+1))
arr.append(element)
#列表转为集合
newList=set(arr)
print(newList)
17.答案:
defadd(a,b):
#下面两行保证输入的a和b是维数相同的矩阵,根据实际情况不要也可以
assert(len(a)==len(b))
assert(all([len(a[i])==len(b[i])==len(a[0])foriinrange(len(a))]))
i,j=len(a),len(a[0])
c=[[0]*j]*i
forminrange(i):
forninrange(j):
c[m][n]=a[m][n]+b[m][n]
returnc
a=[[1,2,3],[4,5,6],[7,8,9]]
b=[[9,8,7],[6,5,4],[3,2,1]]
c=add(a,b)
print(c)
19.答案:
dic={}
i=0
whilei<
3:
number=input("
输入学生学号:
name=input("
输入学生姓名:
dic.__setitem__(number,name)
%dic)
defdict2list(dic:
dict):
将字典转化为列表'
keys=dic.keys()
vals=dic.values()
lst=[(key,val)forkey,valinzip(keys,vals)]
returnlst
new=sorted(dict2list(dic),key=lambdax:
x[0],reverse=False)
%new)
21.答案:
22.
defdelMale(dict):
keys=[]
values=[]
for(key,value)indict.items():
keys.append(key)
values.append(value)
forvalueinvalues:
ifvalue==0:
index=values.index(value)
arrKey=keys[index]
deldict[arrKey]
values[index]=3
keys[index]="
占位"
dic={"
小明"
0,"
小红"
1,"
小兰"
小白"
0}
删除前:
delMale(dic)
删除后:
23.答案:
24.
arr=[12,3,37,7,91,67,27,45,6]
defdelPrime(arr):
forelementinarr:
#质数大于1
ifelement>
1:
#查看因子
foriinrange(2,element):
if(element%i)==0:
arr.remove(element)
delPrime(arr)
第11章函数
第12章
11.D
7.错
11.对
1.逗号
3.return
5.return
7.不定长
9.嵌套
11.局部
13.整个程序
15.global
局部变量:
(1)函数内部定义的变量;
(2)作用域是函数的内部。
全局变量:
(1)函数外部定义的变量;
(2)作用域是整个程序。
(1)以def关键字开头,后面接函数标识符名称和圆括号;
(2)给函数起名字的时候,规则跟变量的名字是一样的;
(3)任何传入参数和自变量必须放在圆括号中间;
(4)函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明;
(5)函数内容以冒号起始,并且缩进;
(6)return[表达式]结束函数,选择性地返回一个值给调用方。
不带表达式的return相当于返回None。
1.结果为100
2.结果为:
200
200,100
defgetMax():
num1=int(input("
请输入第1个整数:
num2=int(input("
请输入第2个整数:
num3=int(input("
请输入第3个整数:
temp=0#临时变量,存放中间产生的第2大数值
ifnum1>
num2:
temp=num1
temp=num2
iftemp>
num3:
return"
其中最大值为:
+str(temp)
+str(num3)
maxValue=getMax()
print(maxValue)
defsum(n):
res=0
whilen>
ifn%2==0:
res-=1.0/(n*(n+1))
res+=1.0/(n*(n+1))
n-=1
returnres
num=int(input("
请输入一个整数:
print(sum(num))
defis_palindrome(n):
n=str(n)
m=n[:
-1]
returnn==m
result=is_palindrome(1247321)
7.答案
defsjx(a,b,c):
if(a+b>
canda+c>
bandb+c>
a):
retu