如何将输入确定为循环中的浮点数和/或整数?

时间:2016-06-29 06:40:21

标签: python loops floating-point integer

如何判断用户输入在循环中是float还是integer?如果他们输入的内容不是integer / float,我希望循环重复,直到他们正确输入float / integer

任何帮助表示赞赏! :)

1 个答案:

答案 0 :(得分:-1)

您可以使用float()和int()函数尝试解析不正确的数据时报告的错误。首先,定义一个泛型函数来解析int和float,并在所有其他情况下抛出一些异常:

def parse(x):
    value=0
    try:
        value = int(x)
    except ValueError:
        try:
            value = float(x)
        except ValueError:
            raise Exception
    return value

您可以使用此通用函数来确定循环中的正确或错误输入

correct = False
while not correct:
    try:
        parse(input("Enter data:"))
        correct = True
    except Exception:
        print("Invalid input...enter again!")