【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("對不起,您輸入的不是數字,無法計算。請重新輸入!")

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章