Python用户只能输入浮点数

时间:2014-09-14 20:14:15

标签: python input numbers

我试图找出如何使用它[只输入数字< 0]和[no letters]允许。有人可以告诉我如何设置它。我试图设置try / catch块但是我一直都会遇到错误。

edgeone = input("Enter the first edge of the triangle: ")

3 个答案:

答案 0 :(得分:0)

你必须在这种情况下使用除处理程序:

try:
    value = int(raw_input("Enter your number:"))
    if not ( value < 0 ):
        raise ValueError()
except ValueError:
    print "you must enter a number <0 "
else:
    print value #or something else 

此问题在这里已有答案:Accepting only numbers as input in Python

答案 1 :(得分:0)

我认为你只想要数字&gt; 0,或者你想要小于零?无论如何,你可以在while循环中使用try / except。

对于Python 3,我认为你正在使用它?

goodnumber = False
while not goodnumber:
    try:
        edgeone = int(input('Enter the first edge of the triangle:'))
        if edgeone > 0:
            print('thats a good number, thanks')
            goodnumber = True
        else:
            print('thats not a number greater than 0, try again please')
    except ValueError:
        print('Thats not a number, try again please')

希望这会有所帮助。

答案 2 :(得分:0)

您可以这样做。

i = 1
while(type(i)!=float):
    i=input("enter no.")
    try:
        int(i):
    except:
        try:
            i = float(i)
        except:
            pass
print(i)