Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops Python使用try和except循环_Loops_While Loop_Try Catch_Except - Fatal编程技术网

Loops Python使用try和except循环

Loops Python使用try和except循环,loops,while-loop,try-catch,except,Loops,While Loop,Try Catch,Except,我试图编写一个程序,读取用户输入的数字,直到用户输入完毕。如果用户键入“完成”以外的非数字,我想返回一条错误消息,如“请输入数字。当用户键入“完成”时”“,我想计算数字的总数、数字计数和平均值。我尝试使用try和except创建while循环,以捕获非数字错误,而不是done。这是技巧的一部分,除非字符串“完成”,否则字符串条目是错误的。下面是我的代码的开头,我没有尝试创建一个可以累加、计数和最大化的文件 bank=0 数字=0 尽管如此: 尝试: number=int(原始输入(“输入整数(如

我试图编写一个程序,读取用户输入的数字,直到用户输入完毕。如果用户键入“完成”以外的非数字,我想返回一条错误消息,如“请输入数字。当用户键入“完成”时”“,我想计算数字的总数、数字计数和平均值。我尝试使用try和except创建while循环,以捕获非数字错误,而不是done。这是技巧的一部分,除非字符串“完成”,否则字符串条目是错误的。下面是我的代码的开头,我没有尝试创建一个可以累加、计数和最大化的文件

bank=0
数字=0
尽管如此:
尝试:
number=int(原始输入(“输入整数(如49、3或16)))
银行=银行+号码
打印“您输入的---”,数字,“您的流动总额为”,银行
除:
如果数字==“完成”:
打印“完成”
其他:
如果数字==“完成”:
打印“完成”
其他:
“打印”您的条目是非数字的。请输入一个数字。”
银行=数字+银行

当我运行这个并输入“done”时,我得到“else:”响应和一个新的输入行。如果number==“Done”

答案是用python 3编写的,则我无法从中获得“Done”打印

使用的异常是ValueError,因为编译器在第7行中执行转换时捕捉到此错误,所以我只是在第19行中添加了继续,使其跳过错误并返回开始

bank = 0
count = 0
while True:
    try:
        number = input('enter an integer:\n')
        if number != 'done':
            bank += int(number)
            print('you entered -- ', number, 'your total is ', bank)
            count += 1
        elif number == 'done':
            print('Done')
            print('you entered %d numbers' % count)
            print('Your total is %s' % bank)
            average = bank/count
            print('Your average is %.02f' % average)
            break
    except ValueError:
        print('oops!! that was not an integer')
        continue