學習:python str.isdigit() 有浮點數的判斷
阿新 • • 發佈:2018-12-20
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(): # 替換為空即可。