在我不应该的时候获得价值错误

时间:2016-03-15 03:02:46

标签: python error-handling

当我将输入推送到只有空格或只是空白的行上时,我试图让我的输入继续运行,虽然它在给我正确的返回值之前给了我一个值错误,但它不起作用,反过来似乎在我的数组中附加了一个额外的值,并在整个程序中固定。

import math

def getItems():
    quitNow = False
    while not quitNow:
        prepTotal = []
        paintTotal = []
        priceTotal1 = []
        priceTotal1d = []
        priceTotal2 = []
        priceTotal2d = []
        names = []
        loopQuit = False
        index = 1
        while not loopQuit:

            ans = raw_input("Enter a Name and press Enter to Continue\nEnter \"Q\" to Quit and get the Full Price: ")

            if(ans.lower() != "q"):
                innerLoopQuit = False
                names.append(ans)
                print "\nPlease enter your prep hours for " + names[index-1] + ": "
                while not innerLoopQuit:
                    try:
                        inp = raw_input()

                        if(inp == ""):
                            innerLoopQuit = True
                        else:
                            float(inp)
                            prepTotal.append(float(raw_input()))

                    except ValueError:
                        print "Please enter a valid number."

1 个答案:

答案 0 :(得分:0)

您在raw_input()子句中再次呼叫else。此外,float(inp)如果不将其分配到任何地方,它实际上并没有做任何事情。 prepTotal.append(float(inp))是你想要做的。