如何评估字符串输入并检查它是否为小数
How to evaluate a string input and check if it is a decimal
我使用 python 3 并试图找出如何评估用户输入的字符串并检查某些字符。
我知道这个标题可能会让我听起来好像我没有听说过 .isdecimal() 方法,但实际上我试图让用户输入一些数字作为小数,包括那个时期,这似乎让评价变得困难。
例如,
dec = 输入()
dec.isdecimal()
Returns 如果输入 0.5 则为假
我也许可以将输入转换为小数,但如果我不想将用户的输入限制为整数,我不确定我还能如何处理此评估。
也许尝试将字符串解析为 float
和 return True
如果成功?
def stringIsFloat(s):
try:
float(s)
return True
except ValueError:
return False
或许使用Decimal
构造函数
from decimal import Decimal
user_input = input()
try:
dec = Decimal(user_input)
except:
dec = None
如果在输入错误的值后无法执行程序,您可以选择引发该错误。
IIUC,你只想检查你的字符串中是否有小数。在这种情况下,您只需执行以下操作即可。
inp_string = input()
def check_decimal(inp_string):
return ('.' in inp_string)
check_decimal(inp_string)
您询问了用户 Enter number:
,用户回答了 oh man i think my number is 5.3, good?
要从这个情绪化的用户回答中提取数字 5.3
,您应该使用 regex
import re
text = 'oh man i think my number is 5.3, good?'
num = re.search(r'\d+.?\d+', text).group()
print(float(num))
输出:
5.3
我使用 python 3 并试图找出如何评估用户输入的字符串并检查某些字符。
我知道这个标题可能会让我听起来好像我没有听说过 .isdecimal() 方法,但实际上我试图让用户输入一些数字作为小数,包括那个时期,这似乎让评价变得困难。
例如,
dec = 输入()
dec.isdecimal()
Returns 如果输入 0.5 则为假 我也许可以将输入转换为小数,但如果我不想将用户的输入限制为整数,我不确定我还能如何处理此评估。
也许尝试将字符串解析为 float
和 return True
如果成功?
def stringIsFloat(s):
try:
float(s)
return True
except ValueError:
return False
或许使用Decimal
构造函数
from decimal import Decimal
user_input = input()
try:
dec = Decimal(user_input)
except:
dec = None
如果在输入错误的值后无法执行程序,您可以选择引发该错误。
IIUC,你只想检查你的字符串中是否有小数。在这种情况下,您只需执行以下操作即可。
inp_string = input()
def check_decimal(inp_string):
return ('.' in inp_string)
check_decimal(inp_string)
您询问了用户 Enter number:
,用户回答了 oh man i think my number is 5.3, good?
要从这个情绪化的用户回答中提取数字 5.3
,您应该使用 regex
import re
text = 'oh man i think my number is 5.3, good?'
num = re.search(r'\d+.?\d+', text).group()
print(float(num))
输出:
5.3