这是一个愚蠢的问题,但是:
我需要得到一个代表我用户的公文包的浮点数,所以我需要检查输入是否是一个数字,如果它包含一个逗号,我想用一个点来改变它
我有一段代码:
portfolio_size = input('Insert portfolio size:')
portfolio_size = portfolio_size.replace(",", ".")
while not(portfolio_size.isnumeric()):
print("\nInput Wrong \nPlease try again!")
portfolio_size = input('Insert portfolio size:').replace(",",".") #This doesn't work
val = float(portfolio_size)
print(val)
我曾想过使用while not语句来创建一个循环,但在这种情况下,我陷入了如何使用替换(“,”,“)方法的困境,因为“while not”不接受任何类型的字符串,如果我尝试输入类似“33,18”的内容,它只会再次提示我输入
有没有一种解决方法或者更优雅的方法来获得相同的结果
如果转换不起作用,您可以尝试转换为浮点并捕获异常:
isnumeric
函数不检查它是否为float
(它仅适用于int
)试试这个:
它看起来不像Python代码,但我希望它能帮助您
相关问题 更多 >
编程相关推荐