Python 3检查输入的负数

时间:2017-02-15 20:51:05

标签: python-3.x

如何编写程序的Python 3版本,拒绝负整数输入并发出警告并且不允许它进入? 例如,

print (' Hypothenuse ')

print ('______________________________________________')

while True:
    L1=int(input('Value of L1:'))
    L2=int(input('Value of L2:'))

    if L1 >= 0:
        if L1 ==0:
            print("L1 Zero")
        else:
            print("L1 Positive Number")
    else:
        print("L1 Negative Number, Please Recheck Input")

    if L2 >= 0:
        if L2 ==0:
            print("L2 Zero")
        else:
            print("L2 Positive Number")
    else:
        print("L2 Negative Number, Please Recheck Input")

    h= pow(L1,2) + pow(L2,2)
    print('Value of Hypot',h)

    print('____________________________________________')

我的代码在输入L1和L2后执行,但不否定负输入。请帮帮忙?

2 个答案:

答案 0 :(得分:0)

您可以使用它来获得正数

while True:
    L1 = int(input('Value of L1:'))
    if not L1 < 0:
       break

基本上,除非提供非负数,否则您不断要求用户输入。但是,请记住,如果用户输入的字符串不是'fksjfjdskl'的数字,则可以获得异常。

答案 1 :(得分:0)

  

如何编写一个程序的Python 3版本,该程序拒绝带有警告的负整数输入并且不允许它进入?

您可以在if L1 >= 0 and L2 >= 0:循环后尽快给出while,因此在计算时不会考虑负数。

希望这对你有用!

print(' Hypothenuse ')

print('______________________________________________')

while True:
    L1 = int(input('Value of L1:'))
    L2 = int(input('Value of L2:'))

    if L1 >= 0 and L2 >= 0:
        if L1 >= 0:
            if L1 == 0:
                print("L1 Zero")
            else:
                print("L1 Positive Number")

        if L2 >= 0:
            if L2 == 0:
                print("L2 Zero")
            else:
                print("L2 Positive Number")

        h = pow(L1, 2) + pow(L2, 2)
        print('Value of Hypot', h)

        print('____________________________________________')
    elif L1 < 0:
        print("L1 Negative Number, Please Recheck Input")
    elif L2 < 0:
        print("L2 Negative Number, Please Recheck Input")