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

这篇具有很好参考价值的文章主要介绍了【python快速编程入门(第二版)黑马程序员课后编程题】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第二章  python基础

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

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

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

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

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

第三章  流程控制

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

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

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

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

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

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

第四章  字符串

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

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

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

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

第五章  组合数据类型

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

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

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

num1=('p','y','t',['o','n'])
num1=list(num1)
num1.append('h')
num1=tuple(num1)
print(num1)

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

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

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

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

第六章  函数

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

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

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

def jisuan(n):
    if n ==3:
        return 3
    else:
        return n*jisuan(n-1)

num=eval(input("请输入一个数字:"))
all=jisuan(num)
print(f"乘积{all}")

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

def fun(n):
    huiwen=n[::-1]
    if n==huiwen:
        print("是回文数!")
    else:
        print("不是回文数!")

str=input("请输入一个字符串")
fun(str)

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

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

def fun(a,b,c):
    if a+b>c and a+c>b and b+c>a:
        print(f"{a},{b},{c}可以构成三角形")
    else:
        print(f"{a},{b},{c}不可以构成一个三角形")

ls=[]
ls=input("请输入三条边长(中间用逗号隔开)").strip('\'').split(',')
# print(ls)
fun(eval(ls[0]),eval(ls[1]),eval(ls[2]))

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

# 最小公倍数

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

第七章  文件与数据格式化

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

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

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


import os
#
# 备份文件夹
def wjj(name):
    # 判断文件夹路径是否存在
    if os.path.exists(name):
        for path,dirs,files in os.walk(name):
            for file in files:
                path1 = path+'\\'+file
                with open(path1,'r',encoding='utf-8') as f:
                    s=f.read()
                mz=path+'\\beifeng''bf'+file
                with open(mz,'w') as fi:
                    fi.write(s)
                    print("备份成功")
    else:
        print("文件路径错误,备份失败!!")

# 备份文件
def wj(name):
    # 判断文件是否存在
    if os.path.exists(name):
        # 获取当前路径下文件的名字
        file=os.path.basename(name)
        s=os.path.dirname(name)+'bf'+file
        # 备份文件夹
        with open (name,'r',encoding='utf-8') as f:
            read=f.read()
        with open (s,'w',encoding='utf-8')as fi:
            fi.write(read)
            print("文件备份成功!")
    else:
        print("备份失败,文件不存在!")

path1 = input("请输入需要备份路径:")
if os.path.isdir(path1):
    wjj(path1)
elif os.path.isfile(path1):
    wj(path1)
else:
    print("输入错误!")

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

fi=open('data101.txt',encoding='utf-8')
numbers=fi.read()
ls=[]
ls=numbers.strip().split()
nums=[]
for num in ls:
    nums.append(eval(num))
nums.sort(reverse=False)
print(nums)
fi.close()

第八章  面向对象

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

class Circle():
    def __init__(self,radius):
        self.radius=radius

    #     求周长
    def get_perimeter(self):
        return self.radius*2*3.14

    # 求面积
    def get_atea(self):
        return self.radius*self.radius*3.14


circle=Circle(5)
c=circle.get_perimeter()
s=circle.get_atea()
print(f"面积为{s},周长为{c}")

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

class Course():
    def __init__(self,number,name,teacher,location):
        self.number=number
        self.name=name
        self.teacher=teacher
        self.__location=location

    def show_info(self):
        print(f"课程编号为{self.number},课程名为{self.name},任课老师为{self.teacher},上课地点为{self.__location}")

info=Course(101,"python程序设计","张老师","三机房")
info.show_info()

第九章  异常

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

class NumError(Exception):
    def __init__(self,number):
        self.number=number

try:
    r=eval(input("请输入圆的半径:"))
    if r<0:
        raise NumError(r)
except NumError as rrsult:
    print("您输入的半径为{},圆的半径不能为负!".format(rrsult.number))

else:
    S=3.14*r*r
    print(f"圆的面积为:{S}")

2、#课本练习132页:计算三角形的面积和周长 # 编写程序按用户输入的三条边判断能否构成直角三角形, # 若能构成直角三角形,则计算其周长和面积,否则引发异常文章来源地址https://www.toymoban.com/news/detail-444794.html

class NumError(Exception):
    def __init__(self,number1,number2,number3):
        self.number1=number1
        self.number2=number2
        self.number3=number3

try:
    line=input("请输入三角形的第三条边长(中间用英文逗号隔开):")
    lis=line.strip().split(',')
    a,b,c=eval(lis[0]),eval(lis[1]),eval(lis[2])
    if (a*a+b*b !=c*c) and (a*a+c*c!=b*b) and (b*b+c*c!=a*a):
        raise NumError(a,b,c)
except NumError as result:
    print("您输入的{},{},{}不能构成直角三角形!".format(result.number1,result.number2,result.number3))
else:
    C=a+b+c
    if a*a+b*b==c*c:
        S=a*b/2
    elif a*a+c*c==b*b:
        S = a * c / 2
    else:
        S = c * b / 2
    print("此直角三角形的面积为{},周长为{}".format(S,C))

到了这里,关于【python快速编程入门(第二版)黑马程序员课后编程题】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [黑马程序员Pandas教程]——Pandas快速体验

    目录: 为什么要使用Python做数据开发 Python在数据开发领域的优势 为什么要学习Pandas 其他常用Python库介绍 主要内容介绍 Anaconda安装 Anaconda的虚拟环境管理 虚拟环境的作用 可以通过Anaconda界面创建虚拟环境 通过命令行创建虚拟环境 通过Anaconda管理界面安装包 也可以通过anac

    2024年02月06日
    浏览(40)
  • 黑马程序员带你快速了解区块链六大特点

    区块链上数据的验证、记账、存储、维护和传输等均是基于分布式结构,采用数学和算法的方法而不是中心机构来构建分布式节点之间的信任关系,从而形成非中心化的、可信任的分布式结构。交易参与者可以自证并直接交易,不需要依赖第三方中介机构的信任背书。 不可篡

    2024年03月25日
    浏览(36)
  • python快速编程入门第二版 飞机大战

    飞机大战游戏以太空主题的画面为背景,由玩家通过键盘控制英雄,飞机向敌机总部发动进攻,在进攻的过程中既可以让英雄飞机发射子弹或引爆炸弹炸毁敌机获得分数,也可以拾取道具增强英雄的战斗力,一旦被敌机撞毁且生命值为0则游戏结束。 项目模块 项目有game.py,

    2024年02月13日
    浏览(44)
  • c++学习笔记-提高编程-模板(哔站-黑马程序员c++教学视频)

    通用的模具,提高代码复用性 不可以直接使用,只是一个框架;模板的通用性并不是万能的。 3.2.1 函数模板 函数模板的作用:建立一个通用函数,其函数返回值类型和参数类型可以不具体确定,用一个虚拟的类型来代表。 1)语法: templatetypename T//函数声明或定义 函数 temp

    2023年04月11日
    浏览(76)
  • [学习笔记]黑马程序员-Hadoop入门视频教程

    黑马程序员大数据Hadoop入门视频教程,适合零基础自学的大数据Hadoop教程 学习目标 1.理解大数据基本概念 2.掌握数据分析基本步骤 3.理解分布式、集群概念 4.学会VMware虚拟机的导入与使用 5.掌握Linux常用操作命令使用 6.掌握vi/vim编辑器基础使用 1.1.1 企业数据分析方向 数据分

    2024年02月13日
    浏览(48)
  • 小程序入门笔记(一) 黑马程序员前端微信小程序开发教程

    微信小程序基本介绍 小程序和普通网页有以下几点区别: 运行环境:小程序可以在手机的操作系统上直接运行,如微信、支付宝等;而普通网页需要在浏览器中打开才能运行。 开发技术:小程序采用前端技术进行开发,如HTML、CSS、JavaScript等;而普通网页也是使用类似的前

    2024年02月08日
    浏览(48)
  • 《python语言程序设计基础》(第二版)第二章课后习题参考答案

    第二章 Python程序实例解析 2.1 温度转换 2.2 汇率兑换 优化: 优化的主要改动: 将货币符号和金额分离出来,使代码更加清晰易读。 将条件判断改为根据货币符号进行判断,避免重复判断。 2.3 绘制彩色蟒蛇 2.4 等边三角形的绘制 代码一: 代码二: 2.5 叠加等边三角形的绘制

    2024年03月19日
    浏览(50)
  • 《黑马程序员2023新版黑马程序员大数据入门到实战教程,大数据开发必会的Hadoop、Hive,云平台实战项目》学习笔记总目录

    本文是对《黑马程序员新版大数据入门到实战教程》所有知识点的笔记进行总结分类。 学习视频:黑马程序员新版大数据 学习时总结的学习笔记以及思维导图会在后续更新,请敬请期待。 前言:配置三台虚拟机,为集群做准备(该篇章请到原视频进行观看,不在文章内详细

    2024年02月03日
    浏览(50)
  • [学习笔记]黑马程序员python教程

    1.9.1异常的捕获 1.9.1.1 为什么要捕获异常 1.9.1.2 捕获常规的异常 1.9.1.3 捕获指定的异常 e是接受异常信息的变量 1.9.1.4 捕获多个异常 1.9.1.5 捕获全部异常 1.9.1.6 异常的else 1.9.1.7 异常的finally 1.9.2 异常的传递 如果异常是在某一层产生,但是没有被catch,那么会继续往上层抛出,此

    2024年02月07日
    浏览(51)
  • 《python语言程序设计基础》(第二版)第六章课后习题参考答案

    第六章 组合数据类型 6.1 随机密码生成 6.2 重复元素判定 6.3 重复元素判定续 6.4 文本字符分析 6.5 生日悖论分析 6.6 《红楼梦》人物统计 注:上述代码仅供参考,若有问题可在评论区留言! 《红楼梦》及人物名单TXT (百度云链接失效可在评论区留言) 链接:https://pan.baidu.c

    2024年02月05日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包