學習: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():   # 替換爲空即可。

 

 

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