0
    sp = int(input("the dp is $"))
    print(sp)
    while True: #make sure they only put number
        try:
            int(sp)
        except ValueError:
            try:
                float(sp)
            except ValueError:
                print("This is not a number. Please put a valid price.")
        print("Please enter a valid number")
    #This is to ensure that the customer is entering a valid variable, not too high or low
    if sp <=100: print("Your price is too low. Please enter a higher and valid price.")
    if sp >=10000: print("Your price is too high. Please enter a lower and valid price")

当我尝试输入过高或过低的数字时,消息错误有效,但如果我输入字母,程序会显示错误。

4

2 回答 2

0
sp = int(input("the dp is $"))

您已经在此处将变量定义为整数。

如果没有错误消息,我只能推测,但我认为它已经发生在这里,因为字符串无法转换为 int。

于 2017-06-15T01:13:23.387 回答
-1

缩进很重要。我想这就是你想要做的?此外,由于您的 input() 位于循环之外,因此当有人输入无效数字时,它会永远使用该无效数字循环。

while True: #make sure they only put number
    sp = int(input("the dp is $"))
    print(sp)
    try:
        int(sp)
    except ValueError:
        try:
            float(sp)
        except ValueError:
            print("This is not a number. Please put a valid price.")

    #This is to ensure that the customer is entering a valid variable, not too high or low
    if sp <=100: print("Your price is too low. Please enter a higher and valid price.")
    elif sp >=10000: print("Your price is too high. Please enter a lower and valid price")
    else: print("Success")
于 2017-06-15T00:25:49.223 回答