1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Python基础入门(夏敏捷等著)课后习题答案全解

Python基础入门(夏敏捷等著)课后习题答案全解

时间:2023-04-14 21:05:48

相关推荐

Python基础入门(夏敏捷等著)课后习题答案全解

目录不能有小于号

虽然考完了,但以后还会再更新的,等放暑假吧。第一章习题1.1 Python语言有哪些特点和缺点?1.2 Python基本输入输出函数是什么?1.3 如何在IDLE中运行和调试Python程序?1.4 为什么要在程序中加入注释?怎么在程序中加入注释?第二章习题2.1 Python数据类型有哪些?分别什么用途?2.2 把下列数学表达式转换成等价的Python表达式。2.3 数学上 3小于x小于10 表示成正确的Python表达式为?2.4 计算下列表达式的值(可在上机时验证),设a=7,b=-2,c=4。2.5 求列表s=[9,7,8,3,2,1,55,6]中的元素个数,最大数,最小数?如何在列表s中添加一个元素10?如何从列表s中删除一个元素55?2.6 元组与列表主要区别?s=(9,7,8,3,2,1,55,6)能添加元素吗?2.7 已知有列表lst=[54,36,75,28,50],请完成以下操作?2.8 三个集合,python={…………},java={…………},C={…………},求:第三章习题3.1 输入一个整数n,判断其能否同时被5和7整除,如能则输出“xx能同时被5和7 整除”,否则输出“xx不能同时被5和7 整除”。要求“xx”为输入的具体数据。3.2 输入一个百分制的成绩,经判断后输出该成绩的对应等级。其中,90分以上为“A”,80~ 89分为“B”,70~ 79分为“C”,60~69分为“D”,60分以下为“E”。3.3 某百货公司为了促销,采用购物打折的办法。1000元以上者,按九五折优惠;2000元以上者,按九折优惠;3000元以上者,按八五折优惠;5000元以上者,按八折优惠。编写程序,输入购物款数,计算并输出优惠价。3.4 编写一个求整数n阶乘(n!)的程序。3.5利用while循环创建一个包含10个奇数的列表,然后计算该列表的和与平均值。3.6 编写程序,求1!+3!+5!+7!+9!。3.7 计算公式s的值,s =1 + (1 + 2) + (1 + 2 + 3) + … + (1 + 2 + 3 + … + n)3.8 枚举法:“百马百瓦问题”3.9 斐波那契函数问题4.10 找出1与100之间的全部“同构数”。4.11 猴子吃桃问题。4.12 输入一个字符串,然后依次显示该字符串的每个字符以及该字符的Ascii码。4.13 开发猜数字小游戏,计算机随机生成100以内的数字,玩家猜大或猜小都给出提示,直至猜中,同时统计猜测次数。3.14 枚举法:已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。4.1 将华氏温度转换为摄氏温度4.2 编写一个函数判断一个数是否为素数,并通过调用该函数求出所有三位数的素数。

虽然考完了,但以后还会再更新的,等放暑假吧。

第一章习题

1.1 Python语言有哪些特点和缺点?

Python支持命令式编程、函数式编程,完全支持面向对象程序设计,语法简洁清晰,并且拥有大量的几乎支持所有领域应用开发的成熟扩展库。 Python为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容。用Python开发,许多功能不必从零编写,直接使用现成的即可。除了内置的库外,Python还有大量的第三方库,也就是别人开发的,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。 Python同时也支持伪编译将Python源程序转换为字节码来优化程序和提高运行速度,可以在没有安装Python解释器和相关依赖包的平台上运行。 任何编程语言都有缺点,Python缺点主要有: (1)运行速度慢。 (2)代码不能加密。 (3)用缩进来区分语句关系的方式还是给很多初学者带来了困惑。最常见的情况是tab和空格的混用会导致错误。

1.2 Python基本输入输出函数是什么?

用Python进行程序设计,输入是通过input( )函数来实现的,

input( )的一般格式为:x=input(‘提示:’)

该函数返回输入的对象。可输入数字、字符串和其它任意类型对象。

Python 3.7中使用print()函数进行输出。

1.3 如何在IDLE中运行和调试Python程序?

在“Python Shell”窗口中单击“Debug”菜单中的“Debugger”菜单项,就可以启动IDLE的交互式调试器。这时,IDLE会打开的“Debug Control”窗口,并在“Python Shell”窗口中输出“[DEBUG ON]”并后跟一个“>>>”提示符。这样,我们就能像平时那样使用这个“Python Shell”窗口了,只不过现在输入的任何命令都是允许在调试器下。

我们可以在“Debug Control”窗口查看局部变量和全局变量等有关内容。

1.4 为什么要在程序中加入注释?怎么在程序中加入注释?

一个好的、可读性强的程序一般包含20%以上的注释

方法一:以#开始,表示本行#之后的内容为注释。

#循环输出0到9数字

for i in range(10):

print (i, end=’ ‘)

方法二:包含在一对三引号’‘’…‘’'或"“”…“”"之间且不属于任何语句的内容将被解释器认为是注释。

第二章习题

2.1 Python数据类型有哪些?分别什么用途?

Python 数值类型用于存储数值。整型(int) :通常被称为是整型或整数,是正或负整数,不带小数点。长整型(long) :无限大小的整数,整数最后是一个大写或小写的L。在Python3里,只有一种整数类型 int,没有Python2 中的 Long。浮点型(float):浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.78e2就是2.78 x 102 = 278)复数(complex):复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示,复数的虚部以字母j或J结尾。如:2+3j。

2.2 把下列数学表达式转换成等价的Python表达式。

(1)

import math a,b,c=1,3,1

expression=(-b+math.sqrt(bb-4ac))/2a

print(expression)

(2)

x,y,a=1,2,3

expression2 = (xx+yy)/(2aa)

print(expression2)

(3)

x,y,z=1,2,3

expression3=(x+y+z)/math.sqrt(x3+y3+z**3)

print(expression3)

(4)

a,c,d=1,2,3

expression4=(3+a)**2/(2c+4d)

print(expression4)

(5)

x,y=1,2

expression5=2*math.sin((x+y)/2)*math.cos((x-y)/2)

print(expression5)

2.3 数学上 3小于x小于10 表示成正确的Python表达式为?

(x>3)and(x<10)

2.4 计算下列表达式的值(可在上机时验证),设a=7,b=-2,c=4。

(1)3 * 4 ** 5 / 2:1536_ (2)a * 3 % 2:1_ (3)a%3 +bb-

c//5:5_ (4)b**2-4a*c:_-108__

2.5 求列表s=[9,7,8,3,2,1,55,6]中的元素个数,最大数,最小数?如何在列表s中添加一个元素10?如何从列表s中删除一个元素55?

(1)元素个数:print(len(s))

(2)最大数:print(max(s))

(3)最小数:print(min(s))

(4)添加元素:s.append(10)

(5)删除指定元素:s.remove(55)

2.6 元组与列表主要区别?s=(9,7,8,3,2,1,55,6)能添加元素吗?

元祖不能添加元素,列表可以添加元素。元组元素不能修改,但元组可以连接另一个元组,组成一个新元组。

2.7 已知有列表lst=[54,36,75,28,50],请完成以下操作?

(1)列表尾部插入元素52: lst.append(52)

(2)在元素28前面插入66:lst.insert(3,66)

(3)删除并输出28:print(lst.pop(3))

(4)将列表按降序排序:lst.sort(reverse=True)

(5)清空整个列表:lst.clear()

2.8 三个集合,python={…………},java={…………},C={…………},求:

(1)只会python不会C的人:(Python-C)

(2)3种语言都会的人:(python&Java&C)

(3)差并交:-,|,&

第三章习题

3.1 输入一个整数n,判断其能否同时被5和7整除,如能则输出“xx能同时被5和7 整除”,否则输出“xx不能同时被5和7 整除”。要求“xx”为输入的具体数据。

a=int(input(“请输入整数:”))

if a%5 == 0 and a%7 == 0:

print(a,“能被5,7同时整除”)

else:print(a,“不能被5,7同时整除”)

3.2 输入一个百分制的成绩,经判断后输出该成绩的对应等级。其中,90分以上为“A”,80~ 89分为“B”,70~ 79分为“C”,60~69分为“D”,60分以下为“E”。

a=int(input(“请输入整数:”))

if a>=90:

print(‘A’)

elif a>79 and a<90:

print(‘B’)

elif a > 69 and a < 80:

print(‘C’)

elif a > 59 and a < 70:

print(‘D’)

else:print(‘E’)

3.3 某百货公司为了促销,采用购物打折的办法。1000元以上者,按九五折优惠;2000元以上者,按九折优惠;3000元以上者,按八五折优惠;5000元以上者,按八折优惠。编写程序,输入购物款数,计算并输出优惠价。

a=input(“”)

a=int(a)

if a>=5000:

print(“优惠价为:”,a0.8)

elif a>=3000:

print(“优惠价为:”,a0.85)

elif a>=2000:

print(“优惠价为:”,a0.9)

elif a>=1000:

print(“优惠价为:”,a0.95)

else:

print(“没有优惠哦! 价格为:”,a)

3.4 编写一个求整数n阶乘(n!)的程序。

n=int(input(“请输入整数n:”))

s,i=1,1

while i<=n:

s=s*i

i=i+1

print(s)

3.5利用while循环创建一个包含10个奇数的列表,然后计算该列表的和与平均值。

lst=[]for i in range(20):if i%2 !=0:lst.append(i)sum1=sum(lst)sumAve=sum1/10print(lst,sum1,sumAve)

3.6 编写程序,求1!+3!+5!+7!+9!。

i,s,ss = 1,1,0

for n in range(10):

if n%2!=0:

while i<=n:

s=s*i

i=i+1

ss=ss+s

print(ss)

3.7 计算公式s的值,s =1 + (1 + 2) + (1 + 2 + 3) + … + (1 + 2 + 3 + … + n)

编写程序,计算下列公式中s的值(n是运行程序时输入的一个正整数)。

s =1 + (1 + 2) + (1 + 2 + 3) + … + (1 + 2 + 3 + … + n)

s,m,ss=0,1,0

n=int(input(“请输入一个正整数:”))

while m<=n:

s=s+m

m=m+1

ss=s+ss

print(ss)

3.8 枚举法:“百马百瓦问题”

有100匹马驮100块瓦,大马驮3块,小马驮2块,两个马驹驮1块。问大马、小马、马驹各有多少匹?

思路:用嵌套循环来做,要注意前后两个条件的关系,以及两个马驹托一个瓦的条件。

for i in range(34):

for j in range(51):

k=100-i-j

if 3i+2j+k/2100 and k%20 :

print(“大马有:”,i,“小马有:”,j,“马驹有:”,k)

3.9 斐波那契函数问题

有一个数列,其前三项分别为1、2、3,从第四项开始,每项均为其相邻的前三项之和的1/2,问:该数列从第几项开始,其数值超过1200。

lst=[1,2,3]

for i in range(100):#建立一个i到100的for循环

if i>2: #到第三项时候 推出第四项

x=(lst[i-1]+lst[i-2]+lst[i-3])/2

lst.append(x)#将第四项添加到列表末尾

if x>1200:#内部判断那一项大于1200的时候跳出循环

print(i)

break

4.10 找出1与100之间的全部“同构数”。

“同构数”是这样一种数,它出现在它的平方数的右端。例如,5的平方是25,5是25中右端的数,5就是同构数,25也是一个同构数,它的平方是625。

**解:**只要是和100取余,则会剩下个位和十位

for i in range(1,101):

x=i*i

if i<10:

if x%10i:

print(i)

elif i<100:

if x%100i:

print(i)

4.11 猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃前一天剩下的一半再加一个。到第10天早上想再吃时,发现只剩下一个桃子了。求第一天共摘了多少个桃子。

采用逆向思维:从后往前推。

x2 = 1

for i in range(9,0,-1):

x1=(x2+1)*2

x2=x1

print(x1)

4.12 输入一个字符串,然后依次显示该字符串的每个字符以及该字符的Ascii码。

str=input("请输入一个字符串……")lst=[0]*len(str)i = 0for x in str:lst[i]=ord(x)i=i+1print(lst)

4.13 开发猜数字小游戏,计算机随机生成100以内的数字,玩家猜大或猜小都给出提示,直至猜中,同时统计猜测次数。

import randomi=0secret = random.randint(1, 101)while 1:guess=int(input("请输入100以内的数字:"))if guess>secret:print("猜大了……")i=i+1;elif guess<secret:print("猜小了……")i=i+1;elif guess==secret:print("猜对了……")i=i+1;print("你共猜了",i,"次")break

3.14 枚举法:已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。

for a in range(1,10):for b in range(1,10):for c in range(1,10):if (a*100+b*10+c+c*100+b*10+a)==1333:print(a,b,c)

4.1 将华氏温度转换为摄氏温度

编写一个函数,将华氏温度转换为摄氏温度。公式为C=(F-32)×5/9。

def revert(f):c=(f-32)*5/9return cprint(revert(99))

4.2 编写一个函数判断一个数是否为素数,并通过调用该函数求出所有三位数的素数。

def sushu(a,b):for i in range(a,b):n=Truefor j in range(2,i):if i%j==0:n=Falsebreakif n==True:print(i)sushu(1,1000)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。