【Python】输入圆的半径,根据自定义的方法返回圆的周长/面积等

今天在CSDN博客上学习(瞎逛),看到了1个小案例。目前我正好学习到了这里,@丁七岁 博主是我学习的对象。

https://blog.csdn.net/qq_43612538/article/details/105914806

 

根据博客内容,手敲了一遍,其中有几块又重新学习了几次,最终成功编写出代码。

需求: 

1.创建类,分别定义方法,计算圆的周长、圆的面积、球的表面积、球的体积。

2.计算结果保留两位小数。

3.若输入的是非数字,则需要重新输入。

4.π的值通过自带math函数写出。

# -*- coding: utf-8 -*-
# @Time : 2020/5/5 21:48
# @Author : 王继宾
# @File : test17_输入半径计算周长.py
import math

class Circle(object):
    def __init__(self, r):  # 初始化实例,定义半径r
        self.r = r

    def Circumference(self):  # 声明圆周长方法,C = 2*π*r
        circum = 2 * math.pi * self.r
        return circum

    def Circular_area(self):  # 声明圆面积方法,S = π*r²
        c_area = math.pi * (self.r**2)
        return c_area

    def Sphere_area(self):   # 声明球面积方法,S = 4*π*r²
        s_area = 4 * math.pi * (self.r **2)
        return s_area

    def Sphere_volume(self):   # 声明球体积方法,V = (4/3)*π*r³
        s_volume = (4/3) * math.pi * (self.r **3)
        return s_volume

'''
1.使用While循环,
2.当输入非数字时,try + except会提示重新输入
3.当输入整数或浮点数时,正常输出
'''
while True:
    try:
        r = float(input("请输入半径(m):"))   # 手动输入半径,并将半径传入类中,赋给p这个对象
        p = Circle(r)
        print("-" * 30)  # 敲出30个横线,美化效果
        
'''
1.使用format格式化输出相关数据
2.(:.2f)是保留2位小数点,
3.p.方法是执行该方法,并根据方法的return来显示返回值
4.print使用3逗号,虽然换行,但是输出依然是在一行
'''
        print('''您输入的半径是:{:.2f}(m),计算后的
    圆周长是:{:.2f}(m)
    圆面积是:{:.2f}(m²)
    球面积是:{:.2f}(m²)
    球体积是:{:.2f}(m³)
        '''.format(r, p.Circumference(), p.Circular_area(), p.Sphere_area(), p.Sphere_volume()))
        break   # 当正常运行后,跳出循环

    except ValueError:   # 当输入的不是整数或浮点数,提示报错
        print("对不起,您输入的不是数字,无法计算。请重新输入!")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值