繁体   English   中英

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

[英]Asks user to input floating-point values. If invalid inputs more than twice, quit the program using 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?)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM