当前位置:   article > 正文

【python快速编程入门(第二版)黑马程序员课后编程题】_python快速编程入门第二版黑马程序员课后答案

python快速编程入门第二版黑马程序员课后答案

第二章  python基础

1、课本33页练习:求圆的半径和面积;
用户输入圆的半径,输出圆的直径和面积。面积公式:s=π*r*r

  1. print("------------求圆的直径和面积计算-------------")
  2. r=float(input("请输入圆的半径:"))
  3. d=2*r
  4. s=3.14*r*r
  5. print("圆的直径为:",d)
  6. print("圆的面积为:",s)

2、#课本33页练习:计算运输次数;

#煤场有29.5t,4t运了3次,其余用2.5t车运,还需几次才能运完

  1. print("------------求煤的运输次数-------------")
  2. sum_coal=round((29.5-3*4)/2.5)
  3. print("还需的次数为:",sum_coal)

第三章  流程控制

1、#课本44页练习:用while循环输出100以内偶数的功能;

  1. print("------------输出100以内偶数的功能-------------")
  2. i,sign=1,0
  3. while i<100:
  4. if i%2==0:
  5. sign+=1
  6. print(i,end="\t")
  7. if sign%10==0:
  8. print()
  9. i+=1

2、#课本44页练习:判断用户输入的是正数还是负数;

  1. print("------------判断用户输入的是正数还是负数-------------")
  2. num=float(input("请输入一个数判断正负:"))
  3. if num>=0:
  4. print("正数")
  5. else:
  6. print("负数")

3、#课本44页练习:输出100以内的质数;
#质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

  1. print("------------输出100以内的质数-------------")
  2. sign=0
  3. for i in range(3,100):
  4. for j in range(2,i):
  5. if i%j==0:
  6. break
  7. if j==i-1:
  8. print(i,end="\t")
  9. sign+=1
  10. if sign%10==0:
  11. print()

第四章  字符串

1、#课本55页练习:编程计算字符串中小写字母的数量;
      #字符串s=‘AbcDeFGhIJ’。

  1. print("------------编程计算字符串中小写字母的数量-------------")
  2. s="AbcDeFGhIJ"
  3. n=0
  4. for i in s:
  5. if 97<=ord(i)<=122:
  6. n+=1
  7. print(f"小写字母的个数为:{n}")

2、#课本55页练习:检测字符串;
      #检测字符串“Life is short. I use python ”中是否包含“python”,若有则替换为“Python”

  1. print("------------编程计算字符串中小写字母的数量-------------")
  2. s="Life is short. I use python "
  3. flag="python"
  4. s=s.replace(flag,"Python")
  5. print(s)

第五章  组合数据类型

1、#课本71页练习:合并列表;
      #已知num1=[4,5,2,7],num2=[3,6],将两个列表合并为一个列表,并按降序排列

  1. ls=[]
  2. num1=[4,5,2,7]
  3. num2=[3,6]
  4. ls=num1+num2
  5. ls.sort(reverse=True)
  6. print(ls)

2、#课本71页练习:向元组中添加新元素;
     #已知元组num1=('p','y','t',['o','n']),在元组最后添加元素‘h’

  1. num1=('p','y','t',['o','n'])
  2. num1=list(num1)
  3. num1.append('h')
  4. num1=tuple(num1)
  5. print(num1)

3、#课本71页练习:统计字符串个字母出现的次数;
#已知字符串s="skdaskerkjsalkj"

  1. s="skdaskerkjsalkj"
  2. d={}
  3. for i in s:
  4. d[i]=d.get(i,0)+1
  5. print(d)

4、#课本71页练习:删除列表中重复的数据;
#已知ls=[1,2,1,2,3,5,4,3,5,7,4,7,4]

  1. ls=[1,2,1,2,3,5,4,3,5,7,4,7,4]
  2. ls=list(set(ls))
  3. print(ls)

第六章  函数

1、#课本87页练习:编写函数,计算出1-100中的偶数和;

  1. sum=0
  2. def oushu(n):
  3. if n%2==0:
  4. s(n)
  5. def s(n):
  6. global sum
  7. sum+=n
  8. for i in range(101):
  9. oushu(i)
  10. print(f"1-100以内的偶数之和为:{sum}")

2、#课本87页练习:编写函数计算20*19*18……*3的结果;

  1. def jisuan(n):
  2. if n ==3:
  3. return 3
  4. else:
  5. return n*jisuan(n-1)
  6. num=eval(input("请输入一个数字:"))
  7. all=jisuan(num)
  8. print(f"乘积{all}")

3、#课本87页练习:判断用户输入是否为回文数;

  1. def fun(n):
  2. huiwen=n[::-1]
  3. if n==huiwen:
  4. print("是回文数!")
  5. else:
  6. print("不是回文数!")
  7. str=input("请输入一个字符串")
  8. fun(str)

4、#课本87页练习:编写函数,判断用户输入的3个数字是否能构成三角形的三条边;

# 构成三角形:任意两边之和大于第三边

  1. def fun(a,b,c):
  2. if a+b>c and a+c>b and b+c>a:
  3. print(f"{a},{b},{c}可以构成三角形")
  4. else:
  5. print(f"{a},{b},{c}不可以构成一个三角形")
  6. ls=[]
  7. ls=input("请输入三条边长(中间用逗号隔开)").strip('\'').split(',')
  8. # print(ls)
  9. fun(eval(ls[0]),eval(ls[1]),eval(ls[2]))

5、#课本87页练习:编写函数,求2个数的最小公倍数;

# 最小公倍数

  1. def fun(n,m):
  2. num=n if n>m else m
  3. for i in range(n,n*m+1):
  4. if i%n==0 and i%m==0:
  5. return i
  6. print("求两个数的最小公约数。")
  7. num1=int(input("请输入第一个数:"))
  8. num2=int(input("请输入第二个数:"))
  9. num=fun(num1,num2)
  10. print(f"{num1}{num2}的最小公倍数为:{num}")

第七章  文件与数据格式化

1、#课本101页练习:读取文件,打印除了字符#以外的所有行

  1. fi=open('text.txt',encoding='utf-8')
  2. lines=fi.readlines()
  3. for line in lines:
  4. if line[0]=='#':
  5. continue
  6. else:
  7. print(line,end='')

2、#课本101页练习:编写程序,实现文件备份功能

  1. import os
  2. #
  3. # 备份文件夹
  4. def wjj(name):
  5. # 判断文件夹路径是否存在
  6. if os.path.exists(name):
  7. for path,dirs,files in os.walk(name):
  8. for file in files:
  9. path1 = path+'\\'+file
  10. with open(path1,'r',encoding='utf-8') as f:
  11. s=f.read()
  12. mz=path+'\\beifeng''bf'+file
  13. with open(mz,'w') as fi:
  14. fi.write(s)
  15. print("备份成功")
  16. else:
  17. print("文件路径错误,备份失败!!")
  18. # 备份文件
  19. def wj(name):
  20. # 判断文件是否存在
  21. if os.path.exists(name):
  22. # 获取当前路径下文件的名字
  23. file=os.path.basename(name)
  24. s=os.path.dirname(name)+'bf'+file
  25. # 备份文件夹
  26. with open (name,'r',encoding='utf-8') as f:
  27. read=f.read()
  28. with open (s,'w',encoding='utf-8')as fi:
  29. fi.write(read)
  30. print("文件备份成功!")
  31. else:
  32. print("备份失败,文件不存在!")
  33. path1 = input("请输入需要备份路径:")
  34. if os.path.isdir(path1):
  35. wjj(path1)
  36. elif os.path.isfile(path1):
  37. wj(path1)
  38. else:
  39. print("输入错误!")

3、#课本101页练习:编写程序,读取一个存储若干数字的文件,对其中的数字排序后输出

  1. fi=open('data101.txt',encoding='utf-8')
  2. numbers=fi.read()
  3. ls=[]
  4. ls=numbers.strip().split()
  5. nums=[]
  6. for num in ls:
  7. nums.append(eval(num))
  8. nums.sort(reverse=False)
  9. print(nums)
  10. fi.close()

第八章  面向对象

1、#课本练习121: # 课本练习121设计一个圆类,其中包括半径radius属性,还包括__init__,get_perimeter()(求周长)和求get_atea()方法 # 创建对象求圆的周长和面积

  1. class Circle():
  2. def __init__(self,radius):
  3. self.radius=radius
  4. # 求周长
  5. def get_perimeter(self):
  6. return self.radius*2*3.14
  7. # 求面积
  8. def get_atea(self):
  9. return self.radius*self.radius*3.14
  10. circle=Circle(5)
  11. c=circle.get_perimeter()
  12. s=circle.get_atea()
  13. print(f"面积为{s},周长为{c}")

2、#课本练习121: # 课本练习121设计一个课程Course类,该类中包含number(编号)、name(名称)、teahcer(老师)、location(上课地点),其中location为私有属性 # 包括__init__(),show_info()(显示课程信息)共两个方法。完成设计后,创建Course类的对象显示课程的信息

  1. class Course():
  2. def __init__(self,number,name,teacher,location):
  3. self.number=number
  4. self.name=name
  5. self.teacher=teacher
  6. self.__location=location
  7. def show_info(self):
  8. print(f"课程编号为{self.number},课程名为{self.name},任课老师为{self.teacher},上课地点为{self.__location}")
  9. info=Course(101,"python程序设计","张老师","三机房")
  10. info.show_info()

第九章  异常

1、#课本练习132页:计算圆的面积 # 编写程序,按用户输入的半径计算圆的面积,若半径为负则抛出异常 # 圆的公式为:S=πR²

  1. class NumError(Exception):
  2. def __init__(self,number):
  3. self.number=number
  4. try:
  5. r=eval(input("请输入圆的半径:"))
  6. if r<0:
  7. raise NumError(r)
  8. except NumError as rrsult:
  9. print("您输入的半径为{},圆的半径不能为负!".format(rrsult.number))
  10. else:
  11. S=3.14*r*r
  12. print(f"圆的面积为:{S}")

2、#课本练习132页:计算三角形的面积和周长 # 编写程序按用户输入的三条边判断能否构成直角三角形, # 若能构成直角三角形,则计算其周长和面积,否则引发异常

  1. class NumError(Exception):
  2. def __init__(self,number1,number2,number3):
  3. self.number1=number1
  4. self.number2=number2
  5. self.number3=number3
  6. try:
  7. line=input("请输入三角形的第三条边长(中间用英文逗号隔开):")
  8. lis=line.strip().split(',')
  9. a,b,c=eval(lis[0]),eval(lis[1]),eval(lis[2])
  10. if (a*a+b*b !=c*c) and (a*a+c*c!=b*b) and (b*b+c*c!=a*a):
  11. raise NumError(a,b,c)
  12. except NumError as result:
  13. print("您输入的{},{},{}不能构成直角三角形!".format(result.number1,result.number2,result.number3))
  14. else:
  15. C=a+b+c
  16. if a*a+b*b==c*c:
  17. S=a*b/2
  18. elif a*a+c*c==b*b:
  19. S = a * c / 2
  20. else:
  21. S = c * b / 2
  22. print("此直角三角形的面积为{},周长为{}".format(S,C))

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/402518
推荐阅读
相关标签
  

闽ICP备14008679号