1. 程式人生 > >學習:python str.isdigit() 有浮點數的判斷

學習:python str.isdigit() 有浮點數的判斷

str.isdigit() 是個很好的工具,用來判斷字串中是否全為數字。而浮點數因為有 "." ,所以會返還FALSE。

參考示例:

# 提示使用者輸入圓的半徑,計算出該圓的周長和麵積。要求如下:
# 圓周率 π 值取 3.1415926
# 如果輸入的是負數和零,提示半徑不能負數或者零
# 計算機的結果保留兩位小數
if __name__ == "__main__":
    PI = 3.1415926
    radius = input("請輸入圓的半徑:")
    print(radius)
    print(radius.isdigit())
    if radius.isdigit():
        radius = float(radius)
        # 計算元的周長和麵積
        circle_perimeter = 2 * PI * radius
        circle_area = PI * radius * radius
        print("圓的周長:%.2f \n圓的面積:%.2f" % (circle_perimeter, circle_area))

    else:
        print("半徑不能負數或者零")

以上在輸入半徑:12.3 就會報錯 。

此時需要replace() 方法語法:

str.replace(old, new[, max])

引數

  • old -- 將被替換的子字串。
  • new -- 新字串,用於替換old子字串。
  • max -- 可選字串, 替換不超過 max 次
if radius.replace(".", "").isdigit():   # 替換為空即可。