要求用户输入浮点值.如果无效输入超过两次,请使用python退出程序



我必须制作一个函数,向用户请求非零浮点值;当用户输入0时,将打印输入的数字之和。当用户在一行中输入两个无效输入时,函数终止。

我有以下代码:

def inValues():
    counter = 0
    s = 0
    while True:
        if counter <= 2:
            try:
                digit = input('Please enter a number: ')
                counter += 1
                floatDig = float(digit)
                break
        else:
            break
        except:
            print('Error. Please re-enter the value.')
    if floatDig == 0:
        s += sum(floatDig)
        return s

但当运行时,它只要求一个输入,然后停止。我很确定代码被打乱了,所以我们非常感谢您的帮助。

注意事项:

  • while循环可能有一个条件,所以我用它来计算错误
  • break退出while循环,所以我删除了它(我们现在使用它来监视错误计数)
  • 我立即检查用户是否想退出
  • 错误计数器只在出现错误时增加

代码:

def inValues():
    errorcounter = 0
    s = 0
    while errorcounter < 2: # errorcounter = [0, 1] ...
        digit = input('Please enter a number: ')
        if digit == '0':
            # return sum of numbers
            return s
        try:
            # try and summarize input
            s += float(digit)
        except:
            print('Error. Please re-enter the value.')
            errorcounter += 1
    print("Too many errors.")
    # possibly return indicative value (None?)

最新更新