使用try和

时间:2016-01-02 18:10:31

标签: loops while-loop try-catch except

我正在尝试编写一个程序来读取用户输入的数字,直到用户输入完成为止。如果用户输入“完成”以外的非数字,我想返回一条错误消息,例如“请输入一个数字。当用户输入”完成“时,我想计算总数,数量计数我尝试使用try创建一个while循环,除了捕获除了完成之外的非数字错误。这是技巧的一部分,除非字符串“完成”,否则字符串条目是错误。这是我的代码的开头没有任何尝试创建可以合计,计数和最大化的文件。

bank = 0 number = 0

而True:

try:   
    number = int(raw_input("Enter an integer ( such as 49 or 3 or 16) \n"))
    bank = bank + number
    print 'You entered--- ', number, 'Your running total is ', bank    
except:
    if number == 'done':
        print 'Done'
    else:
        if number == 'done':
            print 'Done'
        else:
            print 'Your entry was non-numberic.  Please enter a number.'    

银行=号码+银行

当我运行它并输入“done”时,我得到“else:”响应和一个新的输入行。如果数字==“完成”

,我不会从获得“完成”打印

1 个答案:

答案 0 :(得分:0)

用python 3编写的答案

使用的异常是ValueError,因为编译器在第7行中完成转换后捕获了此错误,所以我只是在第19行添加了 continue 使其跳过错误并返回开始。

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