2015-03-25 22 views
2

我想我的程序返回True如果字符串可以轉換成浮點

  • 要求用戶輸入一個字符串文本。
  • print如果字符串包含有效的浮點數,並且可以使用float函數安全地轉換爲浮點數,則爲true。
  • print否則返回False,即如果字符串不包含有效的浮點數,並且float(text)產生錯誤消息。

這是我到目前爲止所嘗試過的。

`text = input("enter a string: ")` 
text = text.strip() 
float_check = float() 

for char in text: 
     if text == float_check: 
      print("true") 
      break 
     else: 
      print("False") 
      break 
+0

爲什麼不嘗試將其轉換? – 2015-03-25 01:03:45

+0

我希望它打印(「真」),不返回真 – Dom 2015-03-27 13:14:57

回答

3
def is_float(string): 
    try: 
     float(string) 
     return True 
    except ValueError: 
     return False 

,然後回答這個問題:

print(is_float(text)) 
+0

我希望它打印(「真」),不返回真 – Dom 2015-03-27 13:15:24

+0

編輯答案。請注意,它可以修復打印語句中的不一致性(true不是大寫,而false是,不確定這是否是錯字) – 2015-03-27 18:58:06