python中的try / except语句

时间:2018-08-18 15:17:08

标签: python try-except

我正在尝试创建一个使用try / except语句的python程序。一切正常,除了,即使定义了except语句后,我仍然遇到值错误。

我的代码:

    inventory = {847502: ['APPLES 1LB', 1.99, 50], 847283: ['OLIVE OIL', 10.99, 100], 839529: ['TOMATOS 1LB', 1.29, 25], 
             483946: ['MILK 1/2G', 3.45, 35], 493402: ['FLOUR 5LB', 2.99, 40], 485034: ['BELL PEPPERS 1LB', 1.35, 28], 
             828391: ['WHITE TUNA', 1.69, 100], 449023: ['CHEESE 1/2LB', 4.99, 15]}

upc_input = int(input('Enter a UPC number:  '))
description = input('Enter a, item description: ')
unit_price = float(input('Enter the unit price: '))
quantity = int(input('Enter th quantity: '))

try:
    if upc_input in inventory.keys():
        print('Inventory Updating')
        inventory[upc_input] = [description,unit_price,quantity]

except Excetption as exp:
    print('Error occurred!',exp)

try:
    if upc_input not in inventory.keys():
        print('Adding new inventory')
        inventory[upc_input] = [description,unit_price,quantity]

except Excetption as exp:
    print('Error occurred!',exp)


print()    
print(inventory)



---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-17-1313cc5c500f> in <module>()
----> 1 upc_input = int(input('Enter a UPC number:  '))
      2 description = input('Enter a, item description: ')
      3 unit_price = float(input('Enter the unit price: '))
      4 quantity = int(input('Enter th quantity: '))
      5 

ValueError: invalid literal for int() with base 10: 'eeeee'

1 个答案:

答案 0 :(得分:0)

inventory = {847502: ['APPLES 1LB', 1.99, 50], 847283: ['OLIVE OIL', 10.99, 100], 839529: ['TOMATOS 1LB', 1.29, 25], 
             483946: ['MILK 1/2G', 3.45, 35], 493402: ['FLOUR 5LB', 2.99, 40], 485034: ['BELL PEPPERS 1LB', 1.35, 28], 
             828391: ['WHITE TUNA', 1.69, 100], 449023: ['CHEESE 1/2LB', 4.99, 15]}

while True:
     try:
          upc_input = int(input('Enter a UPC number:  '))
          break
     except Exception:
         print("Oops!  That was no valid number.  Try again...")

if upc_input in inventory.keys():
    description = input('Enter a, item description: ')
    unit_price = float(input('Enter the unit price: '))
    quantity = int(input('Enter th quantity: '))
    print('Inventory Updating')
    inventory[upc_input] = [description,unit_price,quantity]

if upc_input not in inventory.keys():
    description = input('Enter a, item description: ')
    unit_price = float(input('Enter the unit price: '))
    quantity = int(input('Enter th quantity: '))
    print('Adding new inventory')
    inventory[upc_input] = [description,unit_price,quantity]

print()    
print(inventory)

在这里!我检查了您的代码,发现以下内容:a)您拼写为“ Exception”,并且b)存在逻辑错误。您首先要求输入数字,然后使用语句try。您必须在try语句中有输入,否则您的程序什么也不做

在我的代码中签入try:中的输入语句,如果一切正常,那么它将继续询问其他输入并根据列表中是否存在参考号来进行设置< / p>