我想让用户输入一个数字,检查它的有效性并返回它。如果数字无效,我想重复输入过程。但是,如果我键入:
"5b"
"50.4"
函数不返回50.4
。相反,当执行第一个函数调用的余数时,它返回5.0
。如何解决上述问题,只获得50.4
?你知道吗
def inputGoal ():
goalFiltered = ""
print ('1: ' + str(goalFiltered))
goal = input("Input number: ")
for char in goal:
matched = False
for sign in comparator:
if (sign == char):
matched = True
if (char != ','):
goalFiltered += sign
elif (char == ','):
goalFiltered += '.'
if (matched == False):
print ("Please repeat input, valid characters are: 0 1 2 3 4 5 6 7 8 9 , .")
inputGoal()
#return
goalFiltered = float(goalFiltered)
return (goalFiltered)
比较器变量为:
comparator = ['0','1','2','3','4','5','6','7','8','9',',','.']
如果我正确理解你的问题,我想你可以这样做:
相关问题 更多 >
编程相关推荐